From 4c7f6b63f5a1afc6b3a6676e27a26f1d419e7edd Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 12:07:05 +0200 Subject: [PATCH 01/35] updated for version 7.3.516 Problem: extend(o, o) may crash Vim. Solution: Fix crash and add test. (Thinca and Hirohito Higashi) --- src/eval.c | 2 +- src/testdir/test55.in | 18 ++++++++++++++++++ src/testdir/test55.ok | 4 ++++ src/version.c | 2 ++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/eval.c b/src/eval.c index fa9966e7ee..9a81b4f22b 100644 --- a/src/eval.c +++ b/src/eval.c @@ -10191,7 +10191,7 @@ f_extend(argvars, rettv) EMSG2(_("E737: Key already exists: %s"), hi2->hi_key); break; } - else if (*action == 'f') + else if (*action == 'f' && HI2DI(hi2) != di1) { clear_tv(&di1->di_tv); copy_tv(&HI2DI(hi2)->di_tv, &di1->di_tv); diff --git a/src/testdir/test55.in b/src/testdir/test55.in index 0cac348665..cf85f57a6c 100644 --- a/src/testdir/test55.in +++ b/src/testdir/test55.in @@ -352,6 +352,24 @@ let l = [0, 1, 2, 3] :let dict4copy = deepcopy(dict4) :$put =(l == lcopy) :$put =(dict4 == dict4copy) +:" +:" Pass the same List to extend() +:let l = [1, 2, 3, 4, 5] +:call extend(l, l) +:$put =string(l) +:" +:" Pass the same Dict to extend() +:let d = { 'a': {'b': 'B'}} +:call extend(d, d) +:$put =string(d) +:" +:" Pass the same Dict to extend() with "error" +:try +: call extend(d, d, "error") +:catch +: $put =v:exception[:15] . v:exception[-1:-1] +:endtry +:$put =string(d) :endfun :" :call Test(1, 2, [3, 4], {5: 6}) " This may take a while diff --git a/src/testdir/test55.ok b/src/testdir/test55.ok index 6e402354aa..fde085ce76 100644 --- a/src/testdir/test55.ok +++ b/src/testdir/test55.ok @@ -111,3 +111,7 @@ caught a:000[3] 0 1 1 +[1, 2, 3, 4, 5, 1, 2, 3, 4, 5] +{'a': {'b': 'B'}} +Vim(call):E737: a +{'a': {'b': 'B'}} diff --git a/src/version.c b/src/version.c index 317a2d19ea..5b4bbfc3e7 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 516, /**/ 515, /**/ From f10bf928480f5a912496e5db4fe72adcdecd5206 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 12:07:05 +0200 Subject: [PATCH 02/35] Added tag v7-3-516 for changeset 02440d1fcc9a --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 736dc9f9c0..7fa240fce4 100644 --- a/.hgtags +++ b/.hgtags @@ -1852,3 +1852,4 @@ b782e2f9e6892116ae5d068249b5198bbe0042c6 v7-3-511 75037f9bc97ad76bca58dbbc0ddac69cc7f5d9ac v7-3-513 7e4428115d2cea86fcfa980097c98c11380ae196 v7-3-514 6c318419e3310fb9658ee6ead6b4ea33def8cb6d v7-3-515 +02440d1fcc9aa953ebb7c0719405ccf2525f2777 v7-3-516 From a3ecd92ad9e07d16f11dafc0988a0ce6bca89d82 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 12:49:40 +0200 Subject: [PATCH 03/35] updated for version 7.3.517 Problem: Crash when using "vipvv". (Alexandre Provencio) Solution: Don't let the text length become negative. --- src/ops.c | 4 ++-- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ops.c b/src/ops.c index bccac77904..bc2860a0d3 100644 --- a/src/ops.c +++ b/src/ops.c @@ -3042,6 +3042,8 @@ op_yank(oap, deleting, mess) } #endif } + if (endcol == MAXCOL) + endcol = (colnr_T)STRLEN(p); if (startcol > endcol #ifdef FEAT_VIRTUALEDIT || is_oneChar @@ -3050,8 +3052,6 @@ op_yank(oap, deleting, mess) bd.textlen = 0; else { - if (endcol == MAXCOL) - endcol = (colnr_T)STRLEN(p); bd.textlen = endcol - startcol + oap->inclusive; } bd.textstart = p + startcol; diff --git a/src/version.c b/src/version.c index 5b4bbfc3e7..0f40176e05 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 517, /**/ 516, /**/ From 5e836c09d88a668662ee8c9ca63a382a81cf05e1 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 12:49:40 +0200 Subject: [PATCH 04/35] Added tag v7-3-517 for changeset 9a1dba1f969a --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 7fa240fce4..004a65ce81 100644 --- a/.hgtags +++ b/.hgtags @@ -1853,3 +1853,4 @@ b782e2f9e6892116ae5d068249b5198bbe0042c6 v7-3-511 7e4428115d2cea86fcfa980097c98c11380ae196 v7-3-514 6c318419e3310fb9658ee6ead6b4ea33def8cb6d v7-3-515 02440d1fcc9aa953ebb7c0719405ccf2525f2777 v7-3-516 +9a1dba1f969ac4cb2477626cd79a7a6b0bea1894 v7-3-517 From a594b9965c76c665c48831b71070b418fc4dee33 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 13:14:26 +0200 Subject: [PATCH 05/35] Ignore file generated by tests. --- .hgignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgignore b/.hgignore index b70d5e27b2..0451da43ed 100644 --- a/.hgignore +++ b/.hgignore @@ -48,6 +48,7 @@ gvimext.lib src/po/*.ck src/testdir/mbyte.vim src/testdir/mzscheme.vim +src/testdir/lua.vim src/testdir/small.vim src/testdir/tiny.vim src/testdir/test*.out From 407576107d9d68cae47ab1bd5e8a1979cf876146 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 13:46:39 +0200 Subject: [PATCH 06/35] Updated runtime files. --- runtime/doc/eval.txt | 6 +- runtime/doc/evim-fr.1 | 1 + runtime/doc/evim-fr.UTF-8.1 | 1 + runtime/doc/helphelp.txt | 13 +- runtime/doc/options.txt | 16 +- runtime/doc/os_win32.txt | 6 +- runtime/doc/pattern.txt | 12 +- runtime/doc/todo.txt | 49 +++- runtime/doc/vim-fr.1 | 1 + runtime/doc/vim-fr.UTF-8.1 | 1 + runtime/doc/vimdiff-fr.1 | 3 +- runtime/doc/vimdiff-fr.UTF-8.1 | 3 +- runtime/doc/vimtutor-fr.1 | 5 +- runtime/doc/vimtutor-fr.UTF-8.1 | 5 +- runtime/doc/xxd-fr.1 | 1 + runtime/doc/xxd-fr.UTF-8.1 | 1 + runtime/filetype.vim | 7 +- runtime/ftplugin/dosbatch.vim | 11 +- runtime/ftplugin/zimbu.vim | 146 ++++++++++++ runtime/indent/liquid.vim | 5 +- runtime/indent/zimbu.vim | 123 ++++++++++ runtime/macros/less.bat | 10 + runtime/macros/less.sh | 16 +- runtime/macros/less.vim | 3 +- runtime/syntax/awk.vim | 10 +- runtime/syntax/c.vim | 14 +- runtime/syntax/cl.vim | 133 ++++++----- runtime/syntax/crontab.vim | 6 +- runtime/syntax/debchangelog.vim | 4 +- runtime/syntax/debcontrol.vim | 4 +- runtime/syntax/debsources.vim | 4 +- runtime/syntax/ninja.vim | 7 +- runtime/syntax/progress.vim | 408 ++++++++++++++++++++------------ runtime/syntax/resolv.vim | 12 +- runtime/syntax/scheme.vim | 14 +- runtime/syntax/uil.vim | 15 +- runtime/syntax/xdefaults.vim | 8 +- runtime/syntax/zimbu.vim | 130 ++++++++++ 38 files changed, 894 insertions(+), 320 deletions(-) create mode 100644 runtime/ftplugin/zimbu.vim create mode 100644 runtime/indent/zimbu.vim create mode 100644 runtime/macros/less.bat create mode 100644 runtime/syntax/zimbu.vim diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 91ee7f4975..0df4ba4b31 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.3. Last change: 2012 Apr 30 +*eval.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2317,7 +2317,7 @@ col({expr}) The result is a Number, which is the byte index of the column position given with {expr}. The accepted positions are: . the cursor position $ the end of the cursor line (the result is the - number of characters in the cursor line plus one) + number of bytes in the cursor line plus one) 'x position of mark x (if the mark is not set, 0 is returned) Additionally {expr} can be [lnum, col]: a |List| with the line @@ -4874,7 +4874,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()* A zero value is equal to not giving the argument. When the {timeout} argument is given the search stops when - more than this many milli seconds have passed. Thus when + more than this many milliseconds have passed. Thus when {timeout} is 500 the search stops after half a second. The value must not be negative. A zero value is like not giving the argument. diff --git a/runtime/doc/evim-fr.1 b/runtime/doc/evim-fr.1 index 792c1bc30a..ab19a90945 100644 --- a/runtime/doc/evim-fr.1 +++ b/runtime/doc/evim-fr.1 @@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans .SH TRADUCTION Cette page de manuel a t traduite David Blanchet. 2005-03-26. +Mise jour 2012-05-06, Dominique Pell diff --git a/runtime/doc/evim-fr.UTF-8.1 b/runtime/doc/evim-fr.UTF-8.1 index 95941610e0..267366ff57 100644 --- a/runtime/doc/evim-fr.UTF-8.1 +++ b/runtime/doc/evim-fr.UTF-8.1 @@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans .SH TRADUCTION Cette page de manuel a été traduite David Blanchet. 2005-03-26. +Mise à jour 2012-05-06, Dominique Pellé diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt index 25bf03aa0c..437964d1e2 100644 --- a/runtime/doc/helphelp.txt +++ b/runtime/doc/helphelp.txt @@ -1,4 +1,4 @@ -*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14 +*helphelp.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -218,11 +218,12 @@ files. Vim will search for all help in "doc" directories in 'runtimepath'. This is only available when compiled with the |+multi_lang| feature. At this moment translations are available for: - Chinese - multiple authors - French - translated by David Blanchet - Italian - translated by Antonio Colombo - Polish - translated by Mikolaj Machowski - Russian - translated by Vassily Ragosin + Chinese - multiple authors + French - translated by David Blanchet + Italian - translated by Antonio Colombo + Japanese - multiple authors + Polish - translated by Mikolaj Machowski + Russian - translated by Vassily Ragosin See the Vim website to find them: http://www.vim.org/translations.php A set of translated help files consists of these files: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index b5360edb33..fcecab080b 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3. Last change: 2012 Apr 28 +*options.txt* For Vim version 7.3. Last change: 2012 May 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1047,6 +1047,11 @@ A jump table for the options with a short description can be found at |Q_op|. When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the default value. "/tmp/*" is only used for Unix. + WARNING: Not having a backup file means that when Vim fails to write + your buffer correctly and then, for whatever reason, Vim exits, you + lose both the original file and what you were writing. Only disable + backups if you don't care about losing the file. + Note that environment variables are not expanded. If you want to use $HOME you must expand it explicitly, e.g.: > :let backupskip = escape(expand('$HOME'), '\') . '/tmp/*' @@ -8140,8 +8145,13 @@ A jump table for the options with a short description can be found at |Q_op|. {not in Vi} Make a backup before overwriting a file. The backup is removed after the file was successfully written, unless the 'backup' option is - also on. Reset this option if your file system is almost full. See - |backup-table| for another explanation. + also on. + WARNING: Switching this option off means that when Vim fails to write + your buffer correctly and then, for whatever reason, Vim exits, you + lose both the original file and what you were writing. Only reset + this option if your file system is almost full and it makes the write + fail (and make sure not to exit Vim until the write was successful). + See |backup-table| for another explanation. When the 'backupskip' pattern matches, a backup is not made anyway. NOTE: This option is set to the default value when 'compatible' is set. diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt index 0452bfae0a..4e1a02b4b2 100644 --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -1,4 +1,4 @@ -*os_win32.txt* For Vim version 7.3. Last change: 2011 Aug 14 +*os_win32.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by George Reilly @@ -314,8 +314,8 @@ A. When using :! to run an external command, you can run it with "start": > not have to be closed before Vim. To avoid this special treatment, use ":! start". There are two optional arguments (see the next Q): - /min the window will be minimized. - /b" no console window will be opened + /min the window will be minimized + /b no console window will be opened You can use only one of these flags at a time. A second one will be treated as the start of the command. diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 4283320c4f..5c4a790208 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.3. Last change: 2011 Nov 26 +*pattern.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -637,10 +637,10 @@ overview. */\@!* \@! Matches with zero width if the preceding atom does NOT match at the current position. |/zero-width| {not in Vi} - Like '(?!pattern)" in Perl. + Like "(?!pattern)" in Perl. Example matches ~ foo\(bar\)\@! any "foo" not followed by "bar" - a.\{-}p\@! "a", "ap", "aap", "app", etc. not immediately + a.\{-}p\@! "a", "ap", "app", "appp", etc. not immediately followed by a "p" if \(\(then\)\@!.\)*$ "if " not followed by "then" @@ -648,7 +648,7 @@ overview. does not match. "a.*p\@!" will match from an "a" to the end of the line, because ".*" can match all characters in the line and the "p" doesn't match at the end of the line. "a.\{-}p\@!" will match any - "a", "ap", "aap", etc. that isn't followed by a "p", because the "." + "a", "ap", "app", etc. that isn't followed by a "p", because the "." can match a "p" and "p\@!" doesn't match after that. You can't use "\@!" to look for a non-match before the matching @@ -667,7 +667,7 @@ overview. */\@<=* \@<= Matches with zero width if the preceding atom matches just before what follows. |/zero-width| {not in Vi} - Like '(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns. + Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns. Example matches ~ \(an\_s\+\)\@<=file "file" after "an" and white space or an end-of-line @@ -691,7 +691,7 @@ overview. before what follows. Thus this matches if there is no position in the current or previous line where the atom matches such that it ends just before what follows. |/zero-width| {not in Vi} - Like '(? 2006-04-10. +Mise jour 2012-05-06, Dominique Pell diff --git a/runtime/doc/vim-fr.UTF-8.1 b/runtime/doc/vim-fr.UTF-8.1 index 9a8bea66c2..b1dcf76c61 100644 --- a/runtime/doc/vim-fr.UTF-8.1 +++ b/runtime/doc/vim-fr.UTF-8.1 @@ -586,3 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier. .br Cette page de manuel a été mise à jour par David Blanchet. 2006-04-10. +Mise à jour 2012-05-06, Dominique Pellé diff --git a/runtime/doc/vimdiff-fr.1 b/runtime/doc/vimdiff-fr.1 index 4948126752..67a64e381b 100644 --- a/runtime/doc/vimdiff-fr.1 +++ b/runtime/doc/vimdiff-fr.1 @@ -14,7 +14,7 @@ d .B Vim avec deux (ou trois ou quatre) fichiers. Chaque fichier est ouvert dans sa propre fentre. -Les diffrences entres ces fichiers sont mises en surbrillance. +Les diffrences entre ces fichiers sont mises en surbrillance. C'est un outil trs pratique pour visualiser et reporter les changements entre deux versions d'un mme fichier. .PP @@ -51,3 +51,4 @@ Voir ":help credits" dans .SH TRADUCTION Cette page de manuel a t traduite par David Blanchet 2005-03-12. +Mise jour 2012-05-06, Dominique Pell diff --git a/runtime/doc/vimdiff-fr.UTF-8.1 b/runtime/doc/vimdiff-fr.UTF-8.1 index d143588cdd..3b44a3dd58 100644 --- a/runtime/doc/vimdiff-fr.UTF-8.1 +++ b/runtime/doc/vimdiff-fr.UTF-8.1 @@ -14,7 +14,7 @@ démarre .B Vim avec deux (ou trois ou quatre) fichiers. Chaque fichier est ouvert dans sa propre fenêtre. -Les différences entres ces fichiers sont mises en surbrillance. +Les différences entre ces fichiers sont mises en surbrillance. C'est un outil très pratique pour visualiser et reporter les changements entre deux versions d'un même fichier. .PP @@ -51,3 +51,4 @@ Voir ":help credits" dans .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet 2005-03-12. +Mise à jour 2012-05-06, Dominique Pellé diff --git a/runtime/doc/vimtutor-fr.1 b/runtime/doc/vimtutor-fr.1 index 8367190112..06e03fbef3 100644 --- a/runtime/doc/vimtutor-fr.1 +++ b/runtime/doc/vimtutor-fr.1 @@ -3,7 +3,7 @@ vimtutor \- tutoriel Vim .SH SYNOPSIS .br -.B vimtutor [-g] [langue] +.B vimtutor [\-g] [langue] .SH DESCRIPTION .B Vimtutor lance le tutoriel @@ -17,7 +17,7 @@ est utile pour les personnes souhaitant apprendre leurs premi .B Vim \. .PP -L'argument optionnel -g lance vimtutor avec gvim plutt qu'avec vim, si l'IHM +L'argument optionnel \-g lance vimtutor avec gvim plutt qu'avec vim, si l'IHM graphique de vim est disponible, ou le lance avec vim si gvim n'est pas disponible. .PP @@ -57,3 +57,4 @@ vim(1) .SH TRADUCTION Cette page de manuel a t traduite par David Blanchet 2004-12-27. +Mise jour 2012-05-06, Dominique Pell diff --git a/runtime/doc/vimtutor-fr.UTF-8.1 b/runtime/doc/vimtutor-fr.UTF-8.1 index 9bf474d8f7..f47f840ec1 100644 --- a/runtime/doc/vimtutor-fr.UTF-8.1 +++ b/runtime/doc/vimtutor-fr.UTF-8.1 @@ -3,7 +3,7 @@ vimtutor \- tutoriel Vim .SH SYNOPSIS .br -.B vimtutor [-g] [langue] +.B vimtutor [\-g] [langue] .SH DESCRIPTION .B Vimtutor lance le tutoriel @@ -17,7 +17,7 @@ est utile pour les personnes souhaitant apprendre leurs premières commandes .B Vim \. .PP -L'argument optionnel -g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM +L'argument optionnel \-g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM graphique de vim est disponible, ou le lance avec vim si gvim n'est pas disponible. .PP @@ -57,3 +57,4 @@ vim(1) .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet 2004-12-27. +Mise à jour 2012-05-06, Dominique Pellé diff --git a/runtime/doc/xxd-fr.1 b/runtime/doc/xxd-fr.1 index 0b25da4376..541880bd27 100644 --- a/runtime/doc/xxd-fr.1 +++ b/runtime/doc/xxd-fr.1 @@ -393,3 +393,4 @@ Modifications mineures par Bram Moolenaar. .SH TRADUCTION Cette page de manuel a t traduite par David Blanchet 2004-12-24. +Mise jour 2012-05-06, Dominique Pell diff --git a/runtime/doc/xxd-fr.UTF-8.1 b/runtime/doc/xxd-fr.UTF-8.1 index 9fc47d3ac7..84a84291f4 100644 --- a/runtime/doc/xxd-fr.UTF-8.1 +++ b/runtime/doc/xxd-fr.UTF-8.1 @@ -393,3 +393,4 @@ Modifications mineures par Bram Moolenaar. .SH TRADUCTION Cette page de manuel a été traduite par David Blanchet 2004-12-24. +Mise à jour 2012-05-06, Dominique Pellé diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 7ed7d57d4a..6dae50f6f1 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2012 Apr 18 +" Last Change: 2012 May 18 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -1842,7 +1842,7 @@ au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh') au BufNewFile,BufRead *.zsh setf zsh " Scheme -au BufNewFile,BufRead *.scm,*.ss setf scheme +au BufNewFile,BufRead *.scm,*.ss,*.rkt setf scheme " Screen RC au BufNewFile,BufRead .screenrc,screenrc setf screen @@ -2371,6 +2371,9 @@ au BufNewFile,BufRead *.yaml,*.yml setf yaml " yum conf (close enough to dosini) au BufNewFile,BufRead */etc/yum.conf setf dosini +" Zimbu +au BufNewFile,BufRead *.zu setf zimbu + " Zope " dtml (zope dynamic template markup language), pt (zope page template), " cpt (zope form controller page template) diff --git a/runtime/ftplugin/dosbatch.vim b/runtime/ftplugin/dosbatch.vim index d83dc3b797..dbc02d80f8 100644 --- a/runtime/ftplugin/dosbatch.vim +++ b/runtime/ftplugin/dosbatch.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: MS-DOS .bat files " Maintainer: Mike Williams -" Last Change: 24th April 2012 +" Last Change: 8th May 2012 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -11,6 +11,9 @@ endif " Don't load another plugin for this buffer let b:did_ftplugin = 1 +let s:cpo_save = &cpo +set cpo&vim + " BAT comment formatting setlocal comments=b:rem,b:@rem,b:REM,b:@REM,::: setlocal formatoptions-=t formatoptions+=rol @@ -20,4 +23,8 @@ if has("gui_win32") && !exists("b:browsefilter") let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n" endif -let b:undo_ftplugin = "setlocal comments< formatoptions< | unlet! b:browsefiler" +let b:undo_ftplugin = "setlocal comments< formatoptions<" + \ . "| unlet! b:browsefiler" + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/zimbu.vim b/runtime/ftplugin/zimbu.vim new file mode 100644 index 0000000000..e50c1b65b5 --- /dev/null +++ b/runtime/ftplugin/zimbu.vim @@ -0,0 +1,146 @@ +" Vim filetype plugin file +" Language: Zimbu +" Maintainer: Bram Moolenaar +" Last Change: 2012 May 17 + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Using line continuation here. +let s:cpo_save = &cpo +set cpo-=C + +let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif" + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal fo-=t fo+=croql + +" Set completion with CTRL-X CTRL-O to autoloaded function. +if exists('&ofu') + setlocal ofu=ccomplete#Complete +endif + +" Set 'comments' to format dashed lists in comments. +" And to keep Zudocu comment characters. +setlocal comments=sO:#\ -,mO:#\ \ ,:#=,:#-,:#%,:# + +setlocal errorformat^=%f\ line\ %l\ col\ %c:\ %m,ERROR:\ %m + +" When the matchit plugin is loaded, this makes the % command skip parens and +" braces in comments. +let b:match_words = '\(^\s*\)\@<=\(MODULE\|CLASS\|INTERFACE\|BITS\|ENUM\|SHARED\|FUNC\|REPLACE\|DEFINE\|PROC\|EQUAL\|MAIN\|IF\|GENERATE_IF\|WHILE\|REPEAT\|WITH\|DO\|FOR\|SWITCH\|TRY\)\>\|{\s*$:\(^\s*\)\@<=\(ELSE\|ELSEIF\|GENERATE_ELSE\|GENERATE_ELSEIF\|CATCH\|FINALLY\)\>:\(^\s*\)\@<=}\|\' + +let b:match_skip = 's:comment\|string\|zimbuchar' + +setlocal tw=78 +setlocal et sts=2 sw=2 + +" Does replace when a dot, space or closing brace is typed. +func! GCUpperDot(what) + let col = col(".") - strlen(a:what) + if v:char != ' ' && v:char != "\r" && v:char != "\x1b" && v:char != '.' && v:char != ')' && v:char != '}' + " no space or dot after the typed text + let g:got_char = v:char + return a:what + endif + if col > 1 && getline('.')[col - 2] != ' ' + " no space before the typed text + let g:got_char = 999 + return a:what + endif + let synName = synIDattr(synID(line("."), col(".") - 2, 1), "name") + if synName =~ 'Comment\|String\|zimbuCregion\|\ alias GCUpperSpace("alias") +iabbr arg GCUpperDot("arg") +iabbr bad GCUpper("bad") +iabbr break GCUpper("break") +iabbr case GCUpperSpace("case") +iabbr catch GCUpperSpace("catch") +iabbr check GCUpperDot("check") +iabbr class GCUpperSpace("class") +iabbr shared GCUpperSpace("shared") +iabbr continue GCUpper("continue") +iabbr default GCUpper("default") +iabbr extends GCUpper("extends") +iabbr do GCUpper("do") +iabbr else GCUpper("else") +iabbr elseif GCUpperSpace("elseif") +iabbr enum GCUpperSpace("enum") +iabbr exit GCUpper("exit") +iabbr false GCUpper("false") +iabbr fail GCUpper("fail") +iabbr finally GCUpper("finally") +iabbr for GCUpperSpace("for") +iabbr func GCUpperSpace("func") +iabbr if GCUpperSpace("if") +iabbr import GCUpperSpace("import") +iabbr in GCUpperSpace("in") +iabbr io GCUpperDot("io") +iabbr main GCUpper("main") +iabbr module GCUpperSpace("module") +iabbr new GCUpper("new") +iabbr nil GCUpper("nil") +iabbr ok GCUpper("ok") +iabbr proc GCUpperSpace("proc") +iabbr proceed GCUpper("proceed") +iabbr return GCUpper("return") +iabbr step GCUpperSpace("step") +iabbr switch GCUpperSpace("switch") +iabbr sys GCUpperDot("sys") +iabbr this GCUpperDot("this") +iabbr throw GCUpperSpace("throw") +iabbr try GCUpper("try") +iabbr to GCUpperSpace("to") +iabbr true GCUpper("true") +iabbr until GCUpperSpace("until") +iabbr while GCUpperSpace("while") +iabbr repeat GCUpper("repeat") + +nnoremap [[ m`:call ZimbuGoStartBlock() +nnoremap ]] m`:call ZimbuGoEndBlock() + +" Using a function makes sure the search pattern is restored +func! ZimbuGoStartBlock() + ?^\s*\(FUNC\|PROC\|MAIN\|ENUM\|CLASS\|INTERFACE\)\> +endfunc +func! ZimbuGoEndBlock() + /^\s*\(FUNC\|PROC\|MAIN\|ENUM\|CLASS\|INTERFACE\)\> +endfunc + + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/indent/liquid.vim b/runtime/indent/liquid.vim index 08341b04f6..df43f40cc4 100644 --- a/runtime/indent/liquid.vim +++ b/runtime/indent/liquid.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Liquid " Maintainer: Tim Pope -" Last Change: 2010 May 21 +" Last Change: 2012 May 07 if exists('b:did_indent') finish @@ -54,9 +54,8 @@ function! GetLiquidIndent(...) let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+') let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') - let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|tablerow\|capture\)\>') + let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') let ind -= &sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') - let ind += &sw * s:count(line,'{%\s*\%(elsif\|else\|when\|empty\)\>') let ind -= &sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>') let ind -= &sw * s:count(cline,'{%\s*end\w*$') return ind diff --git a/runtime/indent/zimbu.vim b/runtime/indent/zimbu.vim new file mode 100644 index 0000000000..a01510ded5 --- /dev/null +++ b/runtime/indent/zimbu.vim @@ -0,0 +1,123 @@ +" Vim indent file +" Language: Zimbu +" Maintainer: Bram Moolenaar +" Last Change: 2012 May 17 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal ai nolisp nocin +setlocal indentexpr=GetZimbuIndent(v:lnum) +setlocal indentkeys=0{,0},!^F,o,O,0=ELSE,0=ELSEIF,0=CASE,0=DEFAULT,0=FINALLY + +" We impose recommended defaults: no Tabs, 'shiftwidth' = 2 +setlocal sw=2 et + +let b:undo_indent = "setl et< ai< indentexpr=" + +" Only define the function once. +if exists("*GetZimbuIndent") + finish +endif + +" Come here when loading the script the first time. + +let s:maxoff = 50 " maximum number of lines to look backwards for () + +func GetZimbuIndent(lnum) + let prevLnum = prevnonblank(a:lnum - 1) + if prevLnum == 0 + " This is the first non-empty line, use zero indent. + return 0 + endif + + " Taken from Python indenting: + " If the previous line is inside parenthesis, use the indent of the starting + " line. + " Trick: use the non-existing "dummy" variable to break out of the loop when + " going too far back. + call cursor(prevLnum, 1) + let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW', + \ "line('.') < " . (prevLnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|String\\|Char\\)$'") + if parlnum > 0 + let plindent = indent(parlnum) + let plnumstart = parlnum + else + let plindent = indent(prevLnum) + let plnumstart = prevLnum + endif + + + " When inside parenthesis: If at the first line below the parenthesis add + " two 'shiftwidth', otherwise same as previous line. + " i = (a + " + b + " + c) + call cursor(a:lnum, 1) + let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|String\\|Char\\)$'") + if p > 0 + if p == prevLnum + " When the start is inside parenthesis, only indent one 'shiftwidth'. + let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', + \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" + \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')" + \ . " =~ '\\(Comment\\|String\\|Char\\)$'") + if pp > 0 + return indent(prevLnum) + &sw + endif + return indent(prevLnum) + &sw * 2 + endif + if plnumstart == p + return indent(prevLnum) + endif + return plindent + endif + + let prevline = getline(prevLnum) + let thisline = getline(a:lnum) + + " If this line is not a comment and the previous one is then move the + " previous line further back. + if thisline !~ '^\s*#' + while prevline =~ '^\s*#' + let prevLnum = prevnonblank(prevLnum - 1) + if prevLnum == 0 + " Only comment lines before this, no indent + return 0 + endif + let prevline = getline(prevLnum) + let plindent = indent(prevLnum) + endwhile + endif + + if prevline =~ '^\s*\(IF\|\|ELSEIF\|ELSE\|GENERATE_IF\|\|GENERATE_ELSEIF\|GENERATE_ELSE\|WHILE\|REPEAT\|TRY\|CATCH\|FINALLY\|FOR\|DO\|SWITCH\|CASE\|DEFAULT\|FUNC\|VIRTUAL\|ABSTRACT\|DEFINE\|REPLACE\|FINAL\|PROC\|MAIN\|NEW\|ENUM\|CLASS\|BITS\|MODULE\|SHARED\)\>' + let plindent += &sw + endif + if thisline =~ '^\s*\(}\|ELSEIF\>\|ELSE\>\|CATCH\|FINALLY\|GENERATE_ELSEIF\>\|GENERATE_ELSE\>\|UNTIL\>\)' + let plindent -= &sw + endif + if thisline =~ '^\s*\(CASE\>\|DEFAULT\>\)' && prevline !~ '^\s*SWITCH\>' + let plindent -= &sw + endif + + " line up continued comment that started after some code + " String something # comment comment + " # comment + if a:lnum == prevLnum + 1 && thisline =~ '^\s*#' && prevline !~ '^\s*#' + let n = match(prevline, '#') + if n > 1 + let plindent = n + endif + endif + + return plindent +endfunc + diff --git a/runtime/macros/less.bat b/runtime/macros/less.bat new file mode 100644 index 0000000000..bbe619bc92 --- /dev/null +++ b/runtime/macros/less.bat @@ -0,0 +1,10 @@ +@echo off +rem batch file to start Vim with less.vim. +rem Read stdin if no arguments were given. +rem Written by Ken Takata. + +if "%1"=="" ( + vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" - +) else ( + vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" %* +) diff --git a/runtime/macros/less.sh b/runtime/macros/less.sh index 484c714ce6..e29958f7ad 100755 --- a/runtime/macros/less.sh +++ b/runtime/macros/less.sh @@ -1,16 +1,24 @@ #!/bin/sh # Shell script to start Vim with less.vim. -# Read stdin if no arguments were given. +# Read stdin if no arguments were given and stdin was redirected. if test -t 1; then - if test $# = 0; then - vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' - + if test $# = 0; then + if test -t 0; then + echo "Missing filename" 1>&2 + exit + fi + vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' - else - vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@" + vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@" fi else # Output is not a terminal, cat arguments or stdin if test $# = 0; then + if test -t 0; then + echo "Missing filename" 1>&2 + exit + fi cat else cat "$@" diff --git a/runtime/macros/less.vim b/runtime/macros/less.vim index 959a5d7358..4888ed2b82 100644 --- a/runtime/macros/less.vim +++ b/runtime/macros/less.vim @@ -92,7 +92,8 @@ map fun! s:NextPage() if line(".") == line("$") if argidx() + 1 >= argc() - quit + " Don't quit at the end of the last file + return endif next 1 diff --git a/runtime/syntax/awk.vim b/runtime/syntax/awk.vim index 6f1f561429..f80a582226 100644 --- a/runtime/syntax/awk.vim +++ b/runtime/syntax/awk.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: awk, nawk, gawk, mawk " Maintainer: Antonio Colombo -" Last Change: 2012 Jan 31 +" Last Change: 2012 May 18 " AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger " The AWK Programming Language, Addison-Wesley, 1988 @@ -90,7 +90,7 @@ syn match awkRegExp contained "[?.*{}|+]" " String and Character constants " Highlight special characters (those which have a backslash) differently -syn region awkString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=awkSpecialCharacter,awkSpecialPrintf +syn region awkString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,awkSpecialCharacter,awkSpecialPrintf syn match awkSpecialCharacter contained "\\." " Some of these combinations may seem weird, but they work. @@ -132,7 +132,7 @@ syn case match " Put this above those to override them. " Put this in a 'match "\.*;\="' to make it not override " less/greater than (most of the time), but it won't work yet because -" keywords allways have precedence over match & region. +" keywords always have precedence over match & region. " File I/O: (print foo, bar > "filename") & for nawk (getline < "filename") "syn match awkFileIO contained ">" "syn match awkFileIO contained "<" @@ -141,7 +141,7 @@ syn case match syn match awkSemicolon ";" syn match awkComma "," -syn match awkComment "#.*" contains=awkTodo +syn match awkComment "#.*" contains=@Spell,awkTodo syn match awkLineSkip "\\$" @@ -158,7 +158,7 @@ syn sync ccomment awkArray maxlines=10 " define the default highlighting " For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlightling yet +" For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_awk_syn_inits") if version < 508 let did_awk_syn_inits = 1 diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index 4553519b09..6f99004e3c 100644 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar -" Last Change: 2012 Jan 14 +" Last Change: 2012 May 03 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -34,7 +34,7 @@ if !exists("c_no_utf") syn match cSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)" endif if exists("c_no_cformat") - syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend " cCppString: same as cString, but ends at end of line syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,@Spell else @@ -44,7 +44,7 @@ else syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained endif syn match cFormat display "%%" contained - syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell + syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend " cCppString: same as cString, but ends at end of line syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell endif @@ -64,9 +64,9 @@ syn match cSpecialCharacter display "L'\\x\x\+'" if !exists("c_no_c11") " ISO C11 if exists("c_no_cformat") - syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell + syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend else - syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell + syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend endif syn match cCharacter "[Uu]'[^\\]'" syn match cCharacter "[Uu]'[^']*'" contains=cSpecial @@ -127,7 +127,7 @@ else syn match cErrInBracket display contained "[);{}]\|<%\|%>" endif -syntax region cBadBlock keepend extend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold +syntax region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold "integer number, or floating point number without a dot and with "f". syn case ignore @@ -331,7 +331,7 @@ syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ syn match cIncluded display contained "<[^>]*>" syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded "syn match cLineSkip "\\$" -syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti +syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell diff --git a/runtime/syntax/cl.vim b/runtime/syntax/cl.vim index b278eca31b..343d2601d1 100644 --- a/runtime/syntax/cl.vim +++ b/runtime/syntax/cl.vim @@ -1,22 +1,25 @@ " Vim syntax file -" Language: cl ("Clever Language" by Multibase, http://www.mbase.com.au) -" Filename extensions: *.ent, *.eni -" Maintainer: Philip Uren - Remove SPAX spam block -" Last update: Wed Apr 12 08:47:18 EST 2006 -" $Id: cl.vim,v 1.3 2006/04/12 21:43:28 vimboss Exp $ +" Language: CL +" (pronounced alphabetically, and NOT known as Clever) +" (CL was created by Multibase, http://www.mbase.com.au) +" Filename extensions: *.ent +" *.eni +" Maintainer: Philip Uren Remove SPAX spam block +" Version: 4 +" Last Change: May 11 2012 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 - syntax clear + syntax clear elseif exists("b:current_syntax") - finish + finish endif if version >= 600 - setlocal iskeyword=@,48-57,_,-, + setlocal iskeyword=@,48-57,_,-, else - set iskeyword=@,48-57,_,-, + set iskeyword=@,48-57,_,-, endif syn case ignore @@ -24,87 +27,87 @@ syn case ignore syn sync lines=300 "If/else/elsif/endif and while/wend mismatch errors -syn match clifError "\" -syn match clifError "\" -syn match clifError "\" -syn match clifError "\" +syn match clifError "\" +syn match clifError "\" +syn match clifError "\" +syn match clifError "\" -syn match clSpaceError "\s\+$" +syn match clSpaceError "\s\+$" " If and while regions -syn region clLoop transparent matchgroup=clWhile start="\" matchgroup=clWhile end="\" contains=ALLBUT,clBreak,clProcedure -syn region clIf transparent matchgroup=clConditional start="\" matchgroup=clConditional end="\" contains=ALLBUT,clBreak,clProcedure +syn region clLoop transparent matchgroup=clWhile start="\" matchgroup=clWhile end="\" contains=ALLBUT,clBreak,clProcedure +syn region clIf transparent matchgroup=clConditional start="\" matchgroup=clConditional end="\" contains=ALLBUT,clBreak,clProcedure " Make those TODO notes and debugging stand out! -syn keyword clTodo contained TODO BUG DEBUG FIX -syn match clNeedsWork contained "NEED[S]*\s\s*WORK" -syn keyword clDebug contained debug +syn keyword clTodo contained TODO BUG DEBUG FIX +syn match clNeedsWork contained "NEED[S]*\s\s*WORK" +syn keyword clDebug contained debug -syn match clComment "#.*$" contains=clTodo,clNeedsWork -syn region clProcedure oneline start="^\s*[{}]" end="$" -syn match clInclude "^\s*include\s.*" +syn match clComment "#.*$" contains=clTodo,clNeedsWork +syn region clProcedure oneline start="^\s*[{}]" end="$" +syn match clInclude "^\s*include\s.*" " We don't put "debug" in the clSetOptions; " we contain it in clSet so we can make it stand out. -syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim -syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug +syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim +syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug -syn match clPreProc "^\s*#P.*" +syn match clPreProc "^\s*#P.*" -syn keyword clConditional else elsif -syn keyword clWhile continue endloop +syn keyword clConditional else elsif +syn keyword clWhile continue endloop " 'break' needs to be a region so we can sync on it above. -syn region clBreak oneline start="^\s*break" end="$" +syn region clBreak oneline start="^\s*break" end="$" -syn match clOperator "[!;|)(:.><+*=-]" +syn match clOperator "[!;|)(:.><+*=-]" -syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" +syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" -syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ -syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ +syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ +syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ -syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH +syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH -syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match +syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match -syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do +syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_cl_syntax_inits") - if version < 508 - let did_cl_syntax_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif +if version >= 508 || !exists("did_cl_syntax_inits") + if version < 508 + let did_cl_syntax_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif - HiLink clifError Error - HiLink clSpaceError Error - HiLink clWhile Repeat - HiLink clConditional Conditional - HiLink clDebug Debug - HiLink clNeedsWork Todo - HiLink clTodo Todo - HiLink clComment Comment - HiLink clProcedure Procedure - HiLink clBreak Procedure - HiLink clInclude Include - HiLink clSetOption Statement - HiLink clSet Identifier - HiLink clPreProc PreProc - HiLink clOperator Operator - HiLink clNumber Number - HiLink clString String - HiLink clQuote Delimiter - HiLink clReserved Identifier - HiLink clFunction Function - HiLink clStatement Statement + HiLink clifError Error + HiLink clSpaceError Error + HiLink clWhile Repeat + HiLink clConditional Conditional + HiLink clDebug Debug + HiLink clNeedsWork Todo + HiLink clTodo Todo + HiLink clComment Comment + HiLink clProcedure Procedure + HiLink clBreak Procedure + HiLink clInclude Include + HiLink clSetOption Statement + HiLink clSet Identifier + HiLink clPreProc PreProc + HiLink clOperator Operator + HiLink clNumber Number + HiLink clString String + HiLink clQuote Delimiter + HiLink clReserved Identifier + HiLink clFunction Function + HiLink clStatement Statement - delcommand HiLink + delcommand HiLink endif let b:current_syntax = "cl" -" vim: ts=8 sw=8 +" vim: ts=8 sw=4 diff --git a/runtime/syntax/crontab.vim b/runtime/syntax/crontab.vim index 74ab5615cb..36d75c4d13 100644 --- a/runtime/syntax/crontab.vim +++ b/runtime/syntax/crontab.vim @@ -5,7 +5,7 @@ " License: This file can be redistribued and/or modified under the same terms " as Vim itself. " Filenames: /tmp/crontab.* used by "crontab -e" -" Last Change: 2011-04-21 +" Last Change: 2012-05-16 " " crontab line format: " Minutes Hours Days Months Days_of_Week Commands # comments @@ -22,16 +22,14 @@ syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained -syntax case ignore syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained syntax keyword crontabDow7 contained sun mon tue wed thu fri sat -syntax case match syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent -syntax match crontabCmnt "^\s*#.*" +syntax match crontabCmnt "^\s*#.*" contains=@Spell syntax match crontabPercent "[^\\]%.*"lc=1 contained syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim index ae9c4b7f47..4ccb7658d7 100644 --- a/runtime/syntax/debchangelog.vim +++ b/runtime/syntax/debchangelog.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers " Former Maintainers: Gerfried Fuchs " Wichert Akkerman -" Last Change: 2011 June 01 +" Last Change: 2012 April 29 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim " Standard syntax initialization @@ -19,7 +19,7 @@ syn case ignore " Define some common expressions we can use later on syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\=" -syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|maverick|natty|oneiric)%(-%(security|proposed|updates|backports|commercial|partner))=)+" +syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|natty|oneiric|precise|quantal)%(-%(security|proposed|updates|backports|commercial|partner))=)+" syn match debchangelogVersion contained "(.\{-})" syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim index 20f1a3d7b6..7875b3c977 100644 --- a/runtime/syntax/debcontrol.vim +++ b/runtime/syntax/debcontrol.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers " Former Maintainers: Gerfried Fuchs " Wichert Akkerman -" Last Change: 2011 Sep 17 +" Last Change: 2011 Dec 09 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim " Standard syntax initialization @@ -28,7 +28,7 @@ syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alp syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)" syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+" syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)" -syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)" +syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)" syn match debcontrolPackageType contained "u\?deb" syn match debcontrolVariable contained "\${.\{-}}" syn match debcontrolDmUpload contained "\cyes" diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim index 448beb7094..0a645dd66e 100644 --- a/runtime/syntax/debsources.vim +++ b/runtime/syntax/debsources.vim @@ -2,7 +2,7 @@ " Language: Debian sources.list " Maintainer: Debian Vim Maintainers " Former Maintainer: Matthijs Mohlmann -" Last Change: 2011 June 01 +" Last Change: 2012 April 29 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim " Standard syntax initialization @@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell " Match uri's syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++ -syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|maverick\|natty\|oneiric\)\([-[:alnum:]_./]*\)+ +syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|natty\|oneiric\|precise\|quantal\)\([-[:alnum:]_./]*\)+ " Associate our matches and regions with pretty colours hi def link debsourcesLine Error diff --git a/runtime/syntax/ninja.vim b/runtime/syntax/ninja.vim index 22ef4a02ee..c042464f9e 100644 --- a/runtime/syntax/ninja.vim +++ b/runtime/syntax/ninja.vim @@ -1,8 +1,8 @@ " ninja build file syntax. " Language: ninja build file as described at " http://martine.github.com/ninja/manual.html -" Version: 1.0 -" Last Change: 2012 Jan 04 +" Version: 1.1 +" Last Change: 2012/05/13 " Maintainer: Nicolas Weber " ninja lexer and parser are at @@ -15,6 +15,8 @@ endif syn case match +syn match ninjaComment /#.*/ + " Toplevel statements are the ones listed here and " toplevel variable assignments (ident '=' value). " lexer.in.cc, ReadToken() and parsers.cc, Parse() @@ -53,6 +55,7 @@ syn match ninjaVar "\${[a-zA-Z0-9_.-]\+}" " order-only dependency || syn match ninjaOperator "\(=\|:\||\|||\)\ze\s" +hi def link ninjaComment Comment hi def link ninjaKeyword Keyword hi def link ninjaRuleCommand Statement hi def link ninjaWrapLineOperator ninjaOperator diff --git a/runtime/syntax/progress.vim b/runtime/syntax/progress.vim index 6816548a8c..3ff7723453 100644 --- a/runtime/syntax/progress.vim +++ b/runtime/syntax/progress.vim @@ -3,21 +3,25 @@ " Filename extensions: *.p (collides with Pascal), " *.i (collides with assembler) " *.w (collides with cweb) -" Maintainer: Philip Uren Remove "SPAX" spam block -" Contributors: Chris Ruprecht (Chris, where are you now?) -" Mikhail Kuperblum -" John Florian -" Last Change: Wed Apr 12 08:55:35 EST 2006 -" $Id: progress.vim,v 1.3 2006/04/12 21:48:47 vimboss Exp $ +" Maintainer: Philip Uren Remove SPAX spam block +" Contributors: Chris Ruprecht +" Philip Uren +" Mikhail Kuperblum +" John Florian +" Version: 11 +" Last Change: May 11 2012 -" For version 5.x: Clear all syntax items +" For version 5.x: Clear all syntax item " For version 6.x: Quit when a syntax file was already loaded if version < 600 - syntax clear + syntax clear elseif exists("b:current_syntax") - finish + finish endif +let s:cpo_save = &cpo +set cpo&vim + if version >= 600 setlocal iskeyword=@,48-57,_,-,!,#,$,% else @@ -30,159 +34,250 @@ set expandtab syn case ignore " Progress Blocks of code and mismatched "end." errors. -syn match ProgressEndError "\" -syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\" matchgroup=ProgressDo end="\" contains=ALLBUT,ProgressProcedure,ProgressFunction -syn region ProgressForBlock transparent matchgroup=ProgressFor start="\" matchgroup=ProgressFor end="\" contains=ALLBUT,ProgressProcedure,ProgressFunction -syn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\" matchgroup=ProgressRepeat end="\" contains=ALLBUT,ProgressProcedure,ProgressFunction -syn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\" matchgroup=ProgressCase end="\\|\" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn match ProgressEndError "\" +syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\" matchgroup=ProgressDo end="\" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn region ProgressForBlock transparent matchgroup=ProgressFor start="\" matchgroup=ProgressFor end="\" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\" matchgroup=ProgressRepeat end="\" contains=ALLBUT,ProgressProcedure,ProgressFunction +syn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\" matchgroup=ProgressCase end="\\|\" contains=ALLBUT,ProgressProcedure,ProgressFunction " These are Progress reserved words, " and they could go in ProgressReserved, " but I found it more helpful to highlight them in a different color. -syn keyword ProgressConditional if else then when otherwise -syn keyword ProgressFor each where +syn keyword ProgressConditional if else then when otherwise +syn keyword ProgressFor each where " Make those TODO and debugging notes stand out! -syn keyword ProgressTodo contained TODO BUG FIX -syn keyword ProgressDebug contained DEBUG -syn keyword ProgressDebug debugger -syn match ProgressTodo contained "NEED[S]*\s\s*WORK" +syn keyword ProgressTodo contained TODO BUG FIX +syn keyword ProgressDebug contained DEBUG +syn keyword ProgressDebug debugger " If you like to highlight the whole line of " the start and end of procedures " to make the whole block of code stand out: -syn match ProgressProcedure "^\s*procedure.*" -syn match ProgressProcedure "^\s*end\s\s*procedure.*" -syn match ProgressFunction "^\s*function.*" -syn match ProgressFunction "^\s*end\s\s*function.*" +syn match ProgressProcedure "^\s*procedure.*" +syn match ProgressProcedure "^\s*end\s\s*procedure.*" +syn match ProgressFunction "^\s*function.*" +syn match ProgressFunction "^\s*end\s\s*function.*" " ... otherwise use this: " syn keyword ProgressFunction procedure function -syn keyword ProgressReserved accum[ulate] active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] assign at attr[-space] -syn keyword ProgressReserved authorization auto-ret[urn] avail[able] back[ground] before-h[ide] begins bell between blank break btos by call can-do can-find -syn keyword ProgressReserved center[ed] character check chr clear clipboard col colon color col[umn] column-lab[el] col[umns] compiler connected control count-of -syn keyword ProgressReserved cpstream create ctos current current-changed current-lang[uage] current-window current_date curs[or] database dataservers -syn keyword ProgressReserved dbcodepage dbcollation dbname dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimal decimals declare -syn keyword ProgressReserved def default default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp -syn keyword ProgressReserved disp[lay] distinct dos down drop editing enable encode entry error-stat[us] escape etime except exclusive -syn keyword ProgressReserved exclusive[-lock] exclusive-web-us[er] exists export false fetch field field[s] file-info[rmation] fill find find-case-sensitive -syn keyword ProgressReserved find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first first-of focus font form form[at] -syn keyword ProgressReserved fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line frame-name frame-row frame-val[ue] -syn keyword ProgressReserved from from-c[hars] from-p[ixels] gateway[s] get-byte get-codepage[s] get-coll[ations] get-key-val[ue] getbyte global go-on -syn keyword ProgressReserved go-pend[ing] grant graphic-e[dge] group having header help hide import in index indicator input input-o[utput] insert -syn keyword ProgressReserved integer into is is-attr[-space] join kblabel key-code key-func[tion] key-label keycode keyfunc[tion] keylabel keys keyword label -syn keyword ProgressReserved last last-even[t] last-key last-of lastkey ldbname leave library like line-count[er] listi[ng] locked lookup machine-class -syn keyword ProgressReserved map member message message-lines mouse mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] -syn keyword ProgressReserved no-lock no-map no-mes[sage] no-pause no-prefe[tch] no-undo no-val[idate] no-wait not null num-ali[ases] num-dbs num-entries -syn keyword ProgressReserved of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error os-rename -syn keyword ProgressReserved os2 os400 output overlay page page-bot[tom] page-num[ber] page-top param[eter] pause pdbname persist[ent] pixels -syn keyword ProgressReserved preproc[ess] privileges proc-ha[ndle] proc-st[atus] process program-name Progress prompt prompt[-for] promsgs propath provers[ion] -syn keyword ProgressReserved put put-byte put-key-val[ue] putbyte query query-tuning quit r-index rcode-informatio[n] readkey recid record-len[gth] rect[angle] -syn keyword ProgressReserved release reposition retain retry return return-val[ue] revert revoke run save schema screen screen-io screen-lines -syn keyword ProgressReserved scroll sdbname search seek select self session set setuser[id] share[-lock] shared show-stat[s] skip some space status stream -syn keyword ProgressReserved stream-io string-xref system-dialog table term term[inal] text text-cursor text-seg[-growth] this-procedure time title -syn keyword ProgressReserved to today top-only trans trans[action] trigger triggers trim true underl[ine] undo unform[atted] union unique unix up update -syn keyword ProgressReserved use-index use-revvideo use-underline user user[id] using v6frame value values variable view view-as vms wait-for web-con[text] -syn keyword ProgressReserved window window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xref yes _cbit -syn keyword ProgressReserved _control _list _memory _msg _pcontrol _serial[-num] _trace +syn keyword ProgressReserved accum[ulate] active-form active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] +syn keyword ProgressReserved assign asynchronous at attr[-space] audit-control audit-policy authorization auto-ret[urn] avail[able] back[ground] +syn keyword ProgressReserved before-h[ide] begins bell between big-endian blank break buffer-comp[are] buffer-copy by by-pointer by-variant-point[er] call +syn keyword ProgressReserved can-do can-find case case-sen[sitive] cast center[ed] check chr clear clipboard codebase-locator colon color column-lab[el] +syn keyword ProgressReserved col[umns] com-self compiler connected control copy-lob count-of cpstream create current current-changed current-lang[uage] +syn keyword ProgressReserved current-window current_date curs[or] database dataservers dataset dataset-handle db-remote-host dbcodepage dbcollation dbname +syn keyword ProgressReserved dbparam dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimals declare default +syn keyword ProgressReserved default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp[lay] distinct do dos +syn keyword ProgressReserved down drop dynamic-cast dynamic-func[tion] dynamic-new each editing else enable encode end entry error-stat[us] escape +syn keyword ProgressReserved etime event-procedure except exclusive[-lock] exclusive-web[-user] exists export false fetch field[s] file-info[rmation] +syn keyword ProgressReserved fill find find-case-sensitive find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first +syn keyword ProgressReserved first-of focus font for form[at] fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line +syn keyword ProgressReserved frame-name frame-row frame-val[ue] from from-c[hars] from-p[ixels] function-call-type gateway[s] get-attr-call-type get-byte +syn keyword ProgressReserved get-codepage[s] get-coll[ations] get-column get-error-column get-error-row get-file-name get-file-offse[t] get-key-val[ue] +syn keyword ProgressReserved get-message-type get-row getbyte global go-on go-pend[ing] grant graphic-e[dge] group having header help hide host-byte-order if +syn keyword ProgressReserved import in index indicator input input-o[utput] insert into is is-attr[-space] join kblabel key-code key-func[tion] key-label +syn keyword ProgressReserved keycode keyfunc[tion] keylabel keys keyword label last last-even[t] last-key last-of lastkey ldbname leave library like +syn keyword ProgressReserved like-sequential line-count[er] listi[ng] little-endian locked log-manager lookup machine-class map member message message-lines mouse +syn keyword ProgressReserved mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] no-lobs no-lock no-map +syn keyword ProgressReserved no-mes[sage] no-pause no-prefe[tch] no-return-val[ue] no-undo no-val[idate] no-wait not now null num-ali[ases] num-dbs num-entries +syn keyword ProgressReserved of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error +syn keyword ProgressReserved os-rename otherwise output overlay page page-bot[tom] page-num[ber] page-top param[eter] password-field pause pdbname +syn keyword ProgressReserved persist[ent] pixels preproc[ess] privileges proc-ha[ndle] proc-st[atus] procedure-call-type process profiler program-name progress +syn keyword ProgressReserved prompt[-for] promsgs propath provers[ion] publish put put-byte put-key-val[ue] putbyte query query-tuning quit r-index +syn keyword ProgressReserved rcode-info[rmation] read-available read-exact-num readkey recid record-len[gth] rect[angle] release repeat reposition retain retry return +syn keyword ProgressReserved return-val[ue] revert revoke row-created row-deleted row-modified row-unmodified run save sax-comple[te] sax-parser-error +syn keyword ProgressReserved sax-running sax-uninitialized sax-write-begin sax-write-complete sax-write-content sax-write-element sax-write-error +syn keyword ProgressReserved sax-write-idle sax-write-tag schema screen screen-io screen-lines scroll sdbname search search-self search-target security-policy +syn keyword ProgressReserved seek select self session set set-attr-call-type setuser[id] share[-lock] shared show-stat[s] skip some source-procedure +syn keyword ProgressReserved space status stream stream-handle stream-io string-xref subscribe super system-dialog table table-handle target-procedure +syn keyword ProgressReserved term[inal] text text-cursor text-seg[-grow] then this-object this-procedure time title to today top-only trans[action] trigger +syn keyword ProgressReserved triggers trim true underl[ine] undo unform[atted] union unique unix unless-hidden unsubscribe up update use-index use-revvideo +syn keyword ProgressReserved use-underline user[id] using value values view view-as wait-for web-con[text] when where while window window-delayed-min[imize] +syn keyword ProgressReserved window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xcode-session-key xref xref-xml yes " Strings. Handles embedded quotes. " Note that, for some reason, Progress doesn't use the backslash, "\" " as the escape character; it uses tilde, "~". -syn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~+ -syn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~+ +syn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~+ +syn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~+ -syn match ProgressIdentifier "\<[a-zA-Z_%#]+\>()" +syn match ProgressIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>()" -" syn match ProgressDelimiter "()" +" syn match ProgressDelimiter "()" -syn match ProgressMatrixDelimiter "[][]" -" If you prefer you can highlight the range -"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" +syn match ProgressMatrixDelimiter "[][]" +" If you prefer you can highlight the range: +"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" -syn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" -syn match ProgressByte "\$[0-9a-fA-F]\+" +syn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" +syn match ProgressByte "\$[0-9a-fA-F]\+" " More values: Logicals, and Progress's unknown value, ?. -syn match ProgressNumber "?" -syn keyword ProgressNumber true false yes no +syn match ProgressNumber "?" +syn keyword ProgressNumber true false yes no " If you don't like tabs: -syn match ProgressShowTab "\t" +syn match ProgressShowTab "\t" -" If you don't like white space on the end of lines: -" syn match ProgressSpaceError "\s\+$" +" If you don't like white space on the end of lines, uncomment this: +" syn match ProgressSpaceError "\s\+$" -syn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug -syn region ProgressInclude start="^[ ]*[{][^&]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment -syn region ProgressPreProc start="&" end="\>" contained +syn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug +syn region ProgressInclude start="^[ ]*[{]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment +syn region ProgressPreProc start="&" end="\>" contained " This next line works reasonably well. -" syn match ProgressOperator "[!;|)(:.><+*=-]" +" syn match ProgressOperator "[!;|)(:.><+*=-]" " " Progress allows a '-' to be part of an identifier. To be considered " the subtraction/negation operation operator it needs a non-word " character on either side. Also valid are cases where the minus " operation appears at the beginning or end of a line. " This next line trips up on "no-undo" etc. -" syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" -syn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" +" syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" +syn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" -syn keyword ProgressOperator <= <> >= abs[olute] accelerator across add-first add-last advise alert-box allow-replication ansi-only anywhere append appl-alert[-boxes] application as-cursor ask-overwrite -syn keyword ProgressOperator attach[ment] auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-z[ap] available-formats ave[rage] avg backward[s] base-key batch[-mode] bgc[olor] binary -syn keyword ProgressOperator bind-where block-iteration-display border-bottom border-bottom-ch[ars] border-bottom-pi[xels] border-left border-left-char[s] border-left-pixe[ls] border-right border-right-cha[rs] -syn keyword ProgressOperator border-right-pix[els] border-t[op] border-t[op-chars] border-top-pixel[s] both bottom box box-select[able] browse browse-header buffer buffer-chars buffer-lines -syn keyword ProgressOperator button button[s] byte cache cache-size can-query can-set cancel-break cancel-button caps careful-paint case-sensitive cdecl char[acter] character_length charset -syn keyword ProgressOperator checked choose clear-select[ion] close code codepage codepage-convert col-of colon-align[ed] color-table column-bgc[olor] column-dcolor column-fgc[olor] column-font -syn keyword ProgressOperator column-label-bgc[olor] column-label-dcolor column-label-fgc[olor] column-label-font column-of column-pfc[olor] column-sc[rolling] combo-box command compile complete -syn keyword ProgressOperator connect constrained contents context context-pop[up] control-containe[r] c[ontrol-form] convert-to-offse[t] convert count cpcase cpcoll cpint[ernal] cplog -syn keyword ProgressOperator cpprint cprcodein cprcodeout cpterm crc-val[ue] c[reate-control] create-result-list-entry create-test-file current-column current-environm[ent] current-iteration -syn keyword ProgressOperator current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-entry-retur[n] data-t[ype] date date-f[ormat] day db-references -syn keyword ProgressOperator dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] dec[imal] default-b[utton] default-extensio[n] defer-lob-fetch define defined delete-char delete-current-row -syn keyword ProgressOperator delete-line delete-selected-row delete-selected-rows deselect-focused-row deselect-rows deselect-selected-row d[esign-mode] dialog-box dialog-help dir disabled display-message -syn keyword ProgressOperator display-t[ype] double drag-enabled drop-down drop-down-list dump dynamic echo edge edge[-chars] edge-p[ixels] editor empty end-key endkey entered eq error error-col[umn] -syn keyword ProgressOperator error-row event-t[ype] event[s] exclusive-id execute exp expand extended extent external extract fetch-selected-row fgc[olor] file file-name file-off[set] file-type -syn keyword ProgressOperator filename fill-in filled filters first-child first-column first-proc[edure] first-tab-i[tem] fixed-only float focused-row font-based-layout font-table force-file -syn keyword ProgressOperator fore[ground] form-input forward[s] frame-spa[cing] frame-x frame-y frequency from-cur[rent] full-height full-height-char[s] full-height-pixe[ls] full-pathn[ame] -syn keyword ProgressOperator full-width full-width[-chars] full-width-pixel[s] ge get get-blue[-value] g[et-char-property] get-double get-dynamic get-file get-float get-green[-value] -syn keyword ProgressOperator get-iteration get-license get-long get-message get-number get-pointer-value get-red[-value] get-repositioned-row get-selected-wid[get] get-short get-signature get-size -syn keyword ProgressOperator get-string get-tab-item get-text-height get-text-height-char[s] get-text-height-pixe[ls] get-text-width get-text-width-c[hars] get-text-width-pixel[s] get-unsigned-short -syn keyword ProgressOperator grayed grid-factor-horizont[al] grid-factor-vert[ical] grid-set grid-snap grid-unit-height grid-unit-height-cha[rs] grid-unit-height-pix[els] grid-unit-width grid-unit-width-char[s] -syn keyword ProgressOperator grid-unit-width-pixe[ls] grid-visible gt handle height height[-chars] height-p[ixels] help-con[text] helpfile-n[ame] hidden hint hori[zontal] hwnd image image-down -syn keyword ProgressOperator image-insensitive image-size image-size-c[hars] image-size-pixel[s] image-up immediate-display index-hint indexed-reposition info[rmation] init init[ial] initial-dir -syn keyword ProgressOperator initial-filter initiate inner inner-chars inner-lines insert-b[acktab] insert-file insert-row insert-string insert-t[ab] int[eger] internal-entries is-lead-byte -syn keyword ProgressOperator is-row-selected is-selected item items-per-row join-by-sqldb keep-frame-z-ord[er] keep-messages keep-tab-order key keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] -syn keyword ProgressOperator label-font label-pfc[olor] labels language[s] large large-to-small last-child last-tab-i[tem] last-proce[dure] lc le leading left left-align[ed] left-trim length -syn keyword ProgressOperator line list-events list-items list-query-attrs list-set-attrs list-widgets load l[oad-control] load-icon load-image load-image-down load-image-insensitive load-image-up -syn keyword ProgressOperator load-mouse-point[er] load-small-icon log logical lookahead lower lt manual-highlight margin-extra margin-height margin-height-ch[ars] margin-height-pi[xels] margin-width -syn keyword ProgressOperator margin-width-cha[rs] margin-width-pix[els] matches max max-chars max-data-guess max-height max-height[-chars] max-height-pixel[s] max-rows max-size max-val[ue] max-width -syn keyword ProgressOperator max-width[-chars] max-width-p[ixels] maximize max[imum] memory menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar message-area message-area-font message-line -syn keyword ProgressOperator min min-height min-height[-chars] min-height-pixel[s] min-size min-val[ue] min-width min-width[-chars] min-width-p[ixels] min[imum] mod modified mod[ulo] month mouse-p[ointer] -syn keyword ProgressOperator movable move-after-tab-i[tem] move-before-tab-[item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] multiple multiple-key multitasking-interval must-exist -syn keyword ProgressOperator name native ne new-row next-col[umn] next-sibling next-tab-ite[m] next-value no-apply no-assign no-bind-where no-box no-column-scroll[ing] no-convert no-current-value -syn keyword ProgressOperator no-debug no-drag no-echo no-index-hint no-join-by-sqldb no-lookahead no-row-markers no-scrolling no-separate-connection no-separators no-und[erline] no-word-wrap -syn keyword ProgressOperator none num-but[tons] num-col[umns] num-copies num-formats num-items num-iterations num-lines num-locked-colum[ns] num-messages num-results num-selected num-selected-rows -syn keyword ProgressOperator num-selected-widgets num-tabs num-to-retain numeric numeric-f[ormat] octet_length ok ok-cancel on-frame[-border] ordered-join ordinal orientation os-getenv outer -syn keyword ProgressOperator outer-join override owner page-size page-wid[th] paged parent partial-key pascal pathname pfc[olor] pinnable pixels-per-colum[n] pixels-per-row popup-m[enu] popup-o[nly] -syn keyword ProgressOperator position precision presel[ect] prev prev-col[umn] prev-sibling prev-tab-i[tem] primary printer-control-handle printer-setup private-d[ata] profiler Progress-s[ource] -syn keyword ProgressOperator publish put-double put-float put-long put-short put-string put-unsigned-short query-off-end question radio-buttons radio-set random raw raw-transfer read-file read-only -syn keyword ProgressOperator real recursive refresh refreshable replace replace-selection-text replication-create replication-delete replication-write request resiza[ble] resize retry-cancel -syn keyword ProgressOperator return-ins[erted] return-to-start-di[r] reverse-from right right-align[ed] right-trim round row row-ma[rkers] row-of rowid rule rule-row rule-y save-as save-file -syn keyword ProgressOperator screen-val[ue] scroll-bars scroll-delta scroll-horiz-value scroll-offset scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scroll-vert-value scrollable -syn keyword ProgressOperator scrollbar-horizo[ntal] scrollbar-vertic[al] scrolled-row-positio[n] scrolling se-check-pools se-enable-of[f] se-enable-on se-num-pools se-use-messa[ge] section select-focused-row -syn keyword ProgressOperator select-next-row select-prev-row select-repositioned-row select-row selectable selected selected-items selection-end selection-list selection-start selection-text -syn keyword ProgressOperator send sensitive separate-connection separators set-blue[-value] set-break set-cell-focus set-contents set-dynamic set-green[-value] set-leakpoint set-pointer-valu[e] -syn keyword ProgressOperator s[et-property] set-red[-value] set-repositioned-row set-selection set-size set-wait[-state] side-lab side-lab[e] side-lab[el] side-label-handl[e] side-lab[els] silent -syn keyword ProgressOperator simple single size size-c[hars] size-p[ixels] slider smallint sort source source-procedure sql sqrt start status-area status-area-font status-bar stdcall stenciled stop stoppe[d] -syn keyword ProgressOperator stored-proc[edure] string sub-ave[rage] sub-count sub-max[imum] sub-me[nu] sub-menu-help sub-min[imum] sub-total subscribe subst[itute] substr[ing] subtype sum super suppress-warning[s] -syn keyword ProgressOperator system-alert-box[es] system-help tab-position tabbable target target-procedure temp-dir[ectory] temp-table terminate text-selected three-d through thru tic-marks time-source title-bgc[olor] -syn keyword ProgressOperator title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box tool-bar top topic total trailing trunc[ate] type unbuff[ered] unique-id unload unsubscribe upper use use-dic[t-exps] -syn keyword ProgressOperator use-filename use-text v6display valid-event valid-handle validate validate-condition validate-message var[iable] vert[ical] virtual-height virtual-height-c[hars] -syn keyword ProgressOperator virtual-height-pixel[s] virtual-width virtual-width-ch[ars] virtual-width-pi[xels] visible wait warning weekday widget widget-e[nter] widget-h[andle] widget-l[eave] -syn keyword ProgressOperator widget-pool width width[-chars] width-p[ixels] window-name window-sta[te] window-sys[tem] word-wrap x-of y-of year yes-no yes-no-cancel _dcm +syn keyword ProgressOperator <= <> >= +syn keyword ProgressOperator abs[olute] accelerator accept-changes accept-row-changes across active actor add-buffer add-calc-col[umn] +syn keyword ProgressOperator add-columns-from add-events-proc[edure] add-fields-from add-first add-header-entry add-index-field add-interval add-last +syn keyword ProgressOperator add-like-col[umn] add-like-field add-like-index add-new-field add-new-index add-rel[ation] add-schema-location add-source-buffer +syn keyword ProgressOperator add-super-proc[edure] adm-data advise after-buffer after-rowid after-table alert-box allow-column-searching allow-replication alternate-key +syn keyword ProgressOperator always-on-top ansi-only anywhere append append-child appl-alert[-boxes] appl-context-id application apply-callback appserver-info +syn keyword ProgressOperator appserver-password appserver-userid array-m[essage] ask-overwrite assembly async-request-count async-request-handle attach-data-source +syn keyword ProgressOperator attached-pairlist attach attribute-names audit-enabled audit-event-context authentication-failed auto-comp[letion] auto-delete +syn keyword ProgressOperator auto-delete-xml auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-synchronize auto-val[idate] auto-z[ap] automatic +syn keyword ProgressOperator available-formats ave[rage] avg backward[s] base-ade base-key basic-logging batch[-mode] batch-size before-buffer before-rowid +syn keyword ProgressOperator before-table begin-event-group bgc[olor] binary bind bind-where blob block-iteration-display border-b[ottom-chars] +syn keyword ProgressOperator border-bottom-p[ixels] border-l[eft-chars] border-left-p[ixels] border-r[ight-chars] border-right-p[ixels] border-t[op-chars] +syn keyword ProgressOperator border-top-p[ixels] both bottom box box-select[able] browse buffer buffer-chars buffer-create buffer-delete buffer-field buffer-handle +syn keyword ProgressOperator buffer-lines buffer-n[ame] buffer-releas[e] buffer-validate buffer-value button[s] by-reference by-value byte bytes-read +syn keyword ProgressOperator bytes-written cache cache-size call-name call-type can-crea[te] can-dele[te] can-query can-read can-set can-writ[e] cancel-break +syn keyword ProgressOperator cancel-button cancel-requests cancelled caps careful-paint catch cdecl chained char[acter] character_length charset checked +syn keyword ProgressOperator child-buffer child-num choose class class-type clear-appl-context clear-log clear-select[ion] clear-sort-arrow[s] +syn keyword ProgressOperator client-connection-id client-principal client-tty client-type client-workstation clob clone-node close close-log code codepage +syn keyword ProgressOperator codepage-convert col-of collate colon-align[ed] color-table column-bgc[olor] column-codepage column-dcolor column-fgc[olor] +syn keyword ProgressOperator column-font column-movable column-of column-pfc[olor] column-read-only column-resizable column-sc[rolling] com-handle combo-box +syn keyword ProgressOperator command compare[s] compile complete config-name connect constructor contents context context-help context-help-file +syn keyword ProgressOperator context-help-id context-pop[up] control-box control-fram[e] convert convert-to-offs[et] copy-dataset copy-sax-attributes +syn keyword ProgressOperator copy-temp-table count cpcase cpcoll cpint[ernal] cplog cpprint cprcodein cprcodeout cpterm crc-val[ue] create-like +syn keyword ProgressOperator create-like-sequential create-node create-node-namespace create-result-list-entry create-test-file current-column current-env[ironment] +syn keyword ProgressOperator current-iteration current-query current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-b[ind] +syn keyword ProgressOperator data-entry-ret[urn] data-rel[ation] data-source data-source-complete-map data-source-modified data-source-rowid data-t[ype] date +syn keyword ProgressOperator date-f[ormat] day db-references dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] debug-alert +syn keyword ProgressOperator declare-namespace decrypt default-buffer-handle default-but[ton] default-commit default-ex[tension] default-string +syn keyword ProgressOperator default-value define-user-event-manager defined delete-char delete-current-row delete-header-entry delete-line delete-node +syn keyword ProgressOperator delete-result-list-entry delete-selected-row delete-selected-rows descript[ion] deselect-focused-row deselect-rows deselect-selected-row +syn keyword ProgressOperator destructor detach-data-source dialog-box dir directory disable-auto-zap disable-connections disable-dump-triggers +syn keyword ProgressOperator disable-load-triggers disabled display-message display-timezone display-t[ype] domain-description domain-name domain-type double +syn keyword ProgressOperator drag-enabled drop-down drop-down-list drop-target dump dump-logging-now dynamic dynamic-current-value dynamic-next-value echo +syn keyword ProgressOperator edge[-chars] edge-p[ixels] edit-can-paste edit-can-undo edit-clear edit-copy edit-cut edit-paste edit-undo editor empty +syn keyword ProgressOperator empty-dataset empty-temp-table enable-connections enabled encoding encrypt encrypt-audit-mac-key encryption-salt end-document +syn keyword ProgressOperator end-element end-event-group end-file-drop end-key end-user-prompt endkey entered entry-types-list eq error error-col[umn] +syn keyword ProgressOperator error-object-detail error-row error-stack-trace error-string event-group-id event-procedure-context event-t[ype] events exclusive-id +syn keyword ProgressOperator execute execution-log exp expand expandable expire explicit export-principal extended extent external extract +syn keyword ProgressOperator fetch-selected-row fgc[olor] file file-create-d[ate] file-create-t[ime] file-mod-d[ate] file-mod-t[ime] file-name file-off[set] +syn keyword ProgressOperator file-size file-type filename fill-in fill-mode fill-where-string filled filters final finally find-by-rowid find-current +syn keyword ProgressOperator find-first find-last find-unique finder first-async[-request] first-buffer first-child first-column first-data-source +syn keyword ProgressOperator first-dataset first-form first-object first-proc[edure] first-query first-serv[er] first-server-socket first-socket +syn keyword ProgressOperator first-tab-i[tem] fit-last-column fix-codepage fixed-only flat-button float focused-row focused-row-selected font-table force-file +syn keyword ProgressOperator fore[ground] foreign-key-hidden form-input form-long-input formatte[d] forward-only forward[s] fragmen[t] frame-spa[cing] frame-x +syn keyword ProgressOperator frame-y frequency from-cur[rent] full-height[-chars] full-height-p[ixels] full-pathn[ame] full-width[-chars] +syn keyword ProgressOperator full-width-p[ixels] function ge generate-pbe-key generate-pbe-salt generate-random-key generate-uuid get get-attribute get-attribute-node +syn keyword ProgressOperator get-binary-data get-bits get-blue[-value] get-browse-col[umn] get-buffer-handle get-byte-order get-bytes get-bytes-available +syn keyword ProgressOperator get-callback-proc-context get-callback-proc-name get-cgi-list get-cgi-long-value get-cgi-value get-changes get-child get-child-rel[ation] +syn keyword ProgressOperator get-config-value get-curr[ent] get-dataset-buffer get-dir get-document-element get-double get-dropped-file get-dynamic get-file +syn keyword ProgressOperator get-firs[t] get-float get-green[-value] get-header-entr[y] get-index-by-namespace-name get-index-by-qname get-iteration get-last +syn keyword ProgressOperator get-localname-by-index get-long get-message get-next get-node get-number get-parent get-pointer-value get-prev get-printers get-property +syn keyword ProgressOperator get-qname-by-index get-red[-value] get-rel[ation] get-repositioned-row get-rgb[-value] get-selected[-widget] get-serialized get-short +syn keyword ProgressOperator get-signature get-size get-socket-option get-source-buffer get-string get-tab-item get-text-height[-chars] get-text-height-p[ixels] +syn keyword ProgressOperator get-text-width[-chars] get-text-width-p[ixels] get-top-buffer get-type-by-index get-type-by-namespace-name get-type-by-qname +syn keyword ProgressOperator get-unsigned-long get-unsigned-short get-uri-by-index get-value-by-index get-value-by-namespace-name get-value-by-qname +syn keyword ProgressOperator get-wait[-state] grayed grid-factor-h[orizontal] grid-factor-v[ertical] grid-snap grid-unit-height[-chars] grid-unit-height-p[ixels] +syn keyword ProgressOperator grid-unit-width[-chars] grid-unit-width-p[ixels] grid-visible group-box gt guid handle handler has-lobs has-records height[-chars] +syn keyword ProgressOperator height-p[ixels] help-topic hex-decode hex-encode hidden hint hori[zontal] html-charset html-end-of-line html-end-of-page +syn keyword ProgressOperator html-frame-begin html-frame-end html-header-begin html-header-end html-title-begin html-title-end hwnd icfparam[eter] icon +syn keyword ProgressOperator ignore-current-mod[ified] image image-down image-insensitive image-size image-size-c[hars] image-size-p[ixels] image-up immediate-display +syn keyword ProgressOperator implements import-node import-principal in-handle increment-exclusive-id index-hint index-info[rmation] indexed-reposition +syn keyword ProgressOperator info[rmation] inherit-bgc[olor] inherit-fgc[olor] inherits init[ial] initial-dir initial-filter initialize-document-type initiate +syn keyword ProgressOperator inner inner-chars inner-lines input-value insert-attribute insert-b[acktab] insert-before insert-file insert-row +syn keyword ProgressOperator insert-string insert-t[ab] instantiating-procedure int[eger] interface internal-entries interval invoke is-clas[s] +syn keyword ProgressOperator is-codepage-fixed is-column-codepage is-lead-byte is-open is-parameter-set is-row-selected is-selected is-xml iso-date item +syn keyword ProgressOperator items-per-row join-by-sqldb keep-connection-open keep-frame-z[-order] keep-messages keep-security-cache keep-tab-order key +syn keyword ProgressOperator keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] label-font label-pfc[olor] labels landscape language[s] large +syn keyword ProgressOperator large-to-small last-async[-request] last-batch last-child last-form last-object last-proce[dure] last-serv[er] last-server-socket +syn keyword ProgressOperator last-socket last-tab-i[tem] lc le leading left left-align[ed] left-trim length line list-events list-item-pairs list-items +syn keyword ProgressOperator list-property-names list-query-attrs list-set-attrs list-widgets literal-question load load-domains load-icon load-image load-image-down +syn keyword ProgressOperator load-image-insensitive load-image-up load-mouse-p[ointer] load-picture load-small-icon lob-dir local-host local-name local-port +syn keyword ProgressOperator locator-column-number locator-line-number locator-public-id locator-system-id locator-type lock-registration log log-audit-event +syn keyword ProgressOperator log-entry-types log-threshold logfile-name logging-level logical login-expiration-timestamp login-host login-state logout long[char] +syn keyword ProgressOperator longchar-to-node-value lookahead lower lt mandatory manual-highlight margin-extra margin-height[-chars] margin-height-p[ixels] +syn keyword ProgressOperator margin-width[-chars] margin-width-p[ixels] mark-new mark-row-state matches max-button max-chars max-data-guess max-height[-chars] +syn keyword ProgressOperator max-height-p[ixels] max-rows max-size max-val[ue] max-width[-chars] max-width-p[ixels] maximize max[imum] maximum-level memory memptr +syn keyword ProgressOperator memptr-to-node-value menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar merge-by-field merge-changes merge-row-changes message-area +syn keyword ProgressOperator message-area-font method min-button min-column-width-c[hars] min-column-width-p[ixels] min-height[-chars] min-height-p[ixels] +syn keyword ProgressOperator min-schema-marshal min-size min-val[ue] min-width[-chars] min-width-p[ixels] min[imum] modified mod[ulo] month mouse-p[ointer] movable +syn keyword ProgressOperator move-after[-tab-item] move-befor[e-tab-item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] mtime multi-compile multiple +syn keyword ProgressOperator multiple-key multitasking-interval must-exist must-understand name namespace-prefix namespace-uri native ne needs-appserver-prompt +syn keyword ProgressOperator needs-prompt nested new-instance new-row next-col[umn] next-rowid next-sibling next-tab-ite[m] next-value no-apply +syn keyword ProgressOperator no-array-m[essage] no-assign no-attr-l[ist] no-auto-validate no-bind-where no-box no-console no-convert no-current-value no-debug +syn keyword ProgressOperator no-drag no-echo no-empty-space no-focus no-index-hint no-inherit-bgc[olor] no-inherit-fgc[olor] no-join-by-sqldb no-lookahead +syn keyword ProgressOperator no-row-markers no-schema-marshal no-scrollbar-v[ertical] no-separate-connection no-separators no-tab[-stop] no-und[erline] +syn keyword ProgressOperator no-word-wrap node-value node-value-to-longchar node-value-to-memptr nonamespace-schema-location none normalize not-active +syn keyword ProgressOperator num-buffers num-but[tons] num-child-relations num-children num-col[umns] num-copies num-dropped-files num-fields num-formats +syn keyword ProgressOperator num-header-entries num-items num-iterations num-lines num-locked-col[umns] num-log-files num-messages num-parameters num-references +syn keyword ProgressOperator num-relations num-repl[aced] num-results num-selected-rows num-selected[-widgets] num-source-buffers num-tabs num-to-retain +syn keyword ProgressOperator num-top-buffers num-visible-col[umns] numeric numeric-dec[imal-point] numeric-f[ormat] numeric-sep[arator] object ok ok-cancel +syn keyword ProgressOperator on-frame[-border] ordered-join ordinal orientation origin-handle origin-rowid os-getenv outer outer-join override owner owner-document +syn keyword ProgressOperator page-size page-wid[th] paged parent parent-buffer parent-rel[ation] parse-status partial-key pascal pathname +syn keyword ProgressOperator pbe-hash-alg[orithm] pbe-key-rounds perf[ormance] persistent-cache-disabled persistent-procedure pfc[olor] pixels-per-col[umn] +syn keyword ProgressOperator pixels-per-row popup-m[enu] popup-o[nly] portrait position precision prefer-dataset prepare-string prepared presel[ect] prev +syn keyword ProgressOperator prev-col[umn] prev-sibling prev-tab-i[tem] primary printer printer-control-handle printer-hdc printer-name printer-port +syn keyword ProgressOperator printer-setup private private-d[ata] proce[dure] procedure-name progress-s[ource] property protected proxy proxy-password +syn keyword ProgressOperator proxy-userid public public-id published-events put-bits put-bytes put-double put-float put-long put-short put-string +syn keyword ProgressOperator put-unsigned-long put-unsigned-short query-close query-off-end query-open query-prepare question quoter radio-buttons radio-set random +syn keyword ProgressOperator raw raw-transfer read read-file read-only read-xml read-xmlschema real recursive reference-only refresh +syn keyword ProgressOperator refresh-audit-policy refreshable register-domain reject-changes reject-row-changes rejected relation-fi[elds] relations-active remote +syn keyword ProgressOperator remote-host remote-port remove-attribute remove-child remove-events-proc[edure] remove-super-proc[edure] replace replace-child +syn keyword ProgressOperator replace-selection-text replication-create replication-delete replication-write reposition-back[ward] reposition-forw[ard] reposition-to-row +syn keyword ProgressOperator reposition-to-rowid request reset resiza[ble] resize restart-row restart-rowid result retain-s[hape] retry-cancel return-ins[erted] +syn keyword ProgressOperator return-to-start-di[r] return-value-data-type returns reverse-from rgb-v[alue] right right-align[ed] right-trim roles round rounded +syn keyword ProgressOperator routine-level row row-height[-chars] row-height-p[ixels] row-ma[rkers] row-of row-resizable row-state rowid rule run-proc[edure] +syn keyword ProgressOperator save-as save-file save-row-changes save-where-string sax-attributes sax-parse sax-parse-first sax-parse-next sax-reader +syn keyword ProgressOperator sax-writer schema-change schema-location schema-marshal schema-path screen-val[ue] scroll-bars scroll-delta scroll-offset +syn keyword ProgressOperator scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scrollable scrollbar-h[orizontal] scrollbar-v[ertical] +syn keyword ProgressOperator scrolled-row-pos[ition] scrolling seal seal-timestamp section select-all select-focused-row select-next-row select-prev-row select-row +syn keyword ProgressOperator selectable selected selection-end selection-list selection-start selection-text send sensitive separate-connection +syn keyword ProgressOperator separator-fgc[olor] separators server server-connection-bo[und] server-connection-bound-re[quest] server-connection-co[ntext] +syn keyword ProgressOperator server-connection-id server-operating-mode server-socket session-end session-id set-actor set-appl-context set-attribute +syn keyword ProgressOperator set-attribute-node set-blue[-value] set-break set-buffers set-byte-order set-callback set-callback-procedure set-client set-commit +syn keyword ProgressOperator set-connect-procedure set-contents set-db-client set-dynamic set-green[-value] set-input-source set-must-understand set-node +syn keyword ProgressOperator set-numeric-form[at] set-option set-output-destination set-parameter set-pointer-val[ue] set-property set-read-response-procedure +syn keyword ProgressOperator set-red[-value] set-repositioned-row set-rgb[-value] set-rollback set-selection set-serialized set-size set-socket-option +syn keyword ProgressOperator set-sort-arrow set-wait[-state] short show-in-task[bar] side-label-h[andle] side-lab[els] silent simple single single-character size +syn keyword ProgressOperator size-c[hars] size-p[ixels] skip-deleted-rec[ord] slider small-icon small-title smallint soap-fault soap-fault-actor +syn keyword ProgressOperator soap-fault-code soap-fault-detail soap-fault-string soap-header soap-header-entryref socket sort sort-ascending sort-number source +syn keyword ProgressOperator sql sqrt ssl-server-name standalone start-document start-element start[ing] startup-parameters state-detail static +syn keyword ProgressOperator status-area status-area-font stdcall stop stop-parsing stoppe[d] stored-proc[edure] stretch-to-fit strict string string-value +syn keyword ProgressOperator sub-ave[rage] sub-count sub-max[imum] sub-menu sub-menu-help sub-min[imum] sub-total subst[itute] substr[ing] subtype sum +syn keyword ProgressOperator super-proc[edures] suppress-namespace-processing suppress-w[arnings] suspend symmetric-encryption-algorithm symmetric-encryption-iv +syn keyword ProgressOperator symmetric-encryption-key symmetric-support synchronize system-alert[-boxes] system-help system-id tab-position tab-stop table-crc-list +syn keyword ProgressOperator table-list table-num[ber] target temp-dir[ectory] temp-table temp-table-prepar[e] terminate text-selected three-d through throw +syn keyword ProgressOperator thru tic-marks time-source timezone title-bgc[olor] title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box +syn keyword ProgressOperator tooltip tooltips top top-nav-query topic total tracking-changes trailing trans-init-proc[edure] transaction-mode +syn keyword ProgressOperator transpar[ent] trunc[ate] ttcodepage type type-of unbox unbuff[ered] unique-id unique-match unload unsigned-byte unsigned-integer +syn keyword ProgressOperator unsigned-long unsigned-short update-attribute upper url url-decode url-encode url-password url-userid use use-dic[t-exps] +syn keyword ProgressOperator use-filename use-text use-widget-pool user-id valid-event valid-handle valid-object validate validate-expressio[n] +syn keyword ProgressOperator validate-message validate-seal validate-xml validation-enabled var[iable] verb[ose] version vert[ical] view-first-column-on-reopen +syn keyword ProgressOperator virtual-height[-chars] virtual-height-p[ixels] virtual-width[-chars] virtual-width-p[ixels] visible void wait warning weekday where-string +syn keyword ProgressOperator widget widget-e[nter] widget-h[andle] widget-id widget-l[eave] widget-pool width[-chars] width-p[ixels] window-name +syn keyword ProgressOperator window-sta[te] window-sys[tem] word-index word-wrap work-area-height-p[ixels] work-area-width-p[ixels] work-area-x work-area-y +syn keyword ProgressOperator write-cdata write-characters write-comment write-data-element write-empty-element write-entity-ref write-external-dtd +syn keyword ProgressOperator write-fragment write-message write-processing-instruction write-status write-xml write-xmlschema x x-document x-noderef x-of +syn keyword ProgressOperator xml-data-type xml-node-name xml-node-type xml-schema-pat[h] xml-suppress-namespace-processing y y-of year year-offset yes-no +syn keyword ProgressOperator yes-no-cancel -syn keyword ProgressType char[acter] int[eger] format -syn keyword ProgressType var[iable] log[ical] da[te] +syn keyword ProgressType char[acter] int[eger] int64 dec[imal] log[ical] da[te] datetime datetime-tz syn sync lines=800 @@ -190,42 +285,45 @@ syn sync lines=800 " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_progress_syntax_inits") - if version < 508 + if version < 508 let did_progress_syntax_inits = 1 command -nargs=+ HiLink hi link - else + else command -nargs=+ HiLink hi def link - endif + endif - " The default methods for highlighting. Can be overridden later. - HiLink ProgressByte Number - HiLink ProgressCase Repeat - HiLink ProgressComment Comment - HiLink ProgressConditional Conditional - HiLink ProgressDebug Debug - HiLink ProgressDo Repeat - HiLink ProgressEndError Error - HiLink ProgressFor Repeat - HiLink ProgressFunction Procedure - HiLink ProgressIdentifier Identifier - HiLink ProgressInclude Include - HiLink ProgressMatrixDelimiter Identifier - HiLink ProgressNumber Number - HiLink ProgressOperator Operator - HiLink ProgressPreProc PreProc - HiLink ProgressProcedure Procedure - HiLink ProgressQuote Delimiter - HiLink ProgressRepeat Repeat - HiLink ProgressReserved Statement - HiLink ProgressSpaceError Error - HiLink ProgressString String - HiLink ProgressTodo Todo - HiLink ProgressType Statement - HiLink ProgressShowTab Error + " The default methods for highlighting. Can be overridden later. + HiLink ProgressByte Number + HiLink ProgressCase Repeat + HiLink ProgressComment Comment + HiLink ProgressConditional Conditional + HiLink ProgressDebug Debug + HiLink ProgressDo Repeat + HiLink ProgressEndError Error + HiLink ProgressFor Repeat + HiLink ProgressFunction Procedure + HiLink ProgressIdentifier Identifier + HiLink ProgressInclude Include + HiLink ProgressMatrixDelimiter Identifier + HiLink ProgressNumber Number + HiLink ProgressOperator Operator + HiLink ProgressPreProc PreProc + HiLink ProgressProcedure Procedure + HiLink ProgressQuote Delimiter + HiLink ProgressRepeat Repeat + HiLink ProgressReserved Statement + HiLink ProgressSpaceError Error + HiLink ProgressString String + HiLink ProgressTodo Todo + HiLink ProgressType Statement + HiLink ProgressShowTab Error - delcommand HiLink + delcommand HiLink endif let b:current_syntax = "progress" -" vim: ts=8 sw=8 +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 sw=4 diff --git a/runtime/syntax/resolv.vim b/runtime/syntax/resolv.vim index 1c0f8467d1..4892b83afd 100644 --- a/runtime/syntax/resolv.vim +++ b/runtime/syntax/resolv.vim @@ -2,9 +2,9 @@ " Language: resolver configuration file " Maintainer: David Necas (Yeti) " Original Maintaner: Radu Dineiu -" License: This file can be redistribued and/or modified under the same terms +" License: This file can be redistributed and/or modified under the same terms " as Vim itself. -" Last Change: 2012-02-21 +" Last Change: 2012-05-15 if version < 600 syntax clear @@ -14,7 +14,7 @@ endif " Errors, comments and operators syn match resolvError /./ -syn match resolvComment /\s*[#;].*$/ +syn match resolvComment /\s*[#;].*$/ contains=@Spell syn match resolvOperator /[\/:]/ contained " IP @@ -25,8 +25,7 @@ syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained " General syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster -syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_.]*/ -syn match resolvDomainname contained /[-0-9A-Za-z_.]\+/ +syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/ " Particular syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster @@ -36,7 +35,7 @@ syn match resolvIPNetmaskSortList contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/ " Identifiers syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite -syn match resolvDomain /^\s*domain\>/ nextgroup=resolvDomainname skipwhite +syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite @@ -61,7 +60,6 @@ if version >= 508 || !exists("did_config_syntax_inits") HiLink resolvIP Number HiLink resolvIPNetmask Number HiLink resolvHostname String - HiLink resolvDomainname String HiLink resolvOption String HiLink resolvIPNameserver Number diff --git a/runtime/syntax/scheme.vim b/runtime/syntax/scheme.vim index 0adaaa50e8..a210b0c720 100644 --- a/runtime/syntax/scheme.vim +++ b/runtime/syntax/scheme.vim @@ -1,6 +1,6 @@ " Vim syntax file " Language: Scheme (R5RS + some R6RS extras) -" Last Change: 2012 Feb 04 +" Last Change: 2012 May 13 " Maintainer: Sergey Khorev " Original author: Dirk van Deun @@ -157,11 +157,11 @@ syn region schemeStruc matchgroup=Delimiter start="\[" matchgroup=Delimiter end= syn region schemeStruc matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALL " Simple literals: -syn region schemeString start=+\%(\\\)\@?^_~0-9+.@#%]\+" @@ -250,7 +250,7 @@ endif if exists("b:is_chicken") || exists("is_chicken") " multiline comment - syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment + syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=@Spell,schemeMultilineComment syn match schemeOther "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" syn match schemeExtSyntax "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" @@ -265,7 +265,7 @@ if exists("b:is_chicken") || exists("is_chicken") syn keyword schemeExtFunc ##core#inline ##sys#error ##sys#update-errno " here-string - syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+ + syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+ contains=@Spell if filereadable(expand(":p:h")."/cpp.vim") unlet! b:current_syntax @@ -285,7 +285,7 @@ if exists("b:is_chicken") || exists("is_chicken") " suggested by Alex Queiroz syn match schemeExtSyntax "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" - syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+ + syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+ contains=@Spell endif " Synchronization and the wrapping up... diff --git a/runtime/syntax/uil.vim b/runtime/syntax/uil.vim index a4399844ad..87de427c38 100644 --- a/runtime/syntax/uil.vim +++ b/runtime/syntax/uil.vim @@ -1,10 +1,9 @@ " Vim syntax file " Language: Motif UIL (User Interface Language) " Maintainer: Thomas Koehler -" Last Change: 2009 Dec 04 +" Last Change: 2012 May 14 " URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim - " Quit when a syntax file was already loaded if version < 600 syntax clear @@ -21,22 +20,22 @@ syn keyword uilType user_defined xbitmapfile syn keyword uilTodo contained TODO -" String and Character contstants +" String and Character constants " Highlight special characters (those which have a backslash) differently syn match uilSpecial contained "\\\d\d\d\|\\." -syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=uilSpecial +syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,uilSpecial syn match uilCharacter "'[^\\]'" -syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=uilSpecial +syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=@Spell,uilSpecial syn match uilSpecialCharacter "'\\.'" syn match uilSpecialStatement "Xm[^ =(){}]*" syn match uilSpecialFunction "MrmNcreateCallback" syn match uilRessource "XmN[^ =(){}]*" syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>" -syn match uilNumber "0[xX][0-9a-fA-F]\+\>" +syn match uilNumber "0[xX]\x\+\>" -syn region uilComment start="/\*" end="\*/" contains=uilTodo -syn match uilComment "!.*" contains=uilTodo +syn region uilComment start="/\*" end="\*/" contains=@Spell,uilTodo +syn match uilComment "!.*" contains=@Spell,uilTodo syn match uilCommentError "\*/" syn region uilPreCondit start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError diff --git a/runtime/syntax/xdefaults.vim b/runtime/syntax/xdefaults.vim index d7f11723f5..5e38952a75 100644 --- a/runtime/syntax/xdefaults.vim +++ b/runtime/syntax/xdefaults.vim @@ -33,7 +33,7 @@ endif " syn region xdefaultsLabel start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$" -syn match xdefaultsLabel +[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd +syn match xdefaultsLabel +^[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd syn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd syn match xdefaultsSpecial contained +#override+ @@ -75,9 +75,9 @@ endif syn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ syn match xdefaultsIncluded contained "<[^>]*>" syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded -syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine -syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine -syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine +syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip +syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue +syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue diff --git a/runtime/syntax/zimbu.vim b/runtime/syntax/zimbu.vim new file mode 100644 index 0000000000..210c694670 --- /dev/null +++ b/runtime/syntax/zimbu.vim @@ -0,0 +1,130 @@ +" Vim syntax file +" Language: Zimbu +" Maintainer: Bram Moolenaar +" Last Change: 2012 May 17 + +if exists("b:current_syntax") + finish +endif + +syn include @Ccode syntax/c.vim + +syn keyword zimbuTodo TODO FIXME XXX contained +syn match zimbuNoBar "|" contained +syn match zimbuParam "|[^| ]\+|" contained contains=zimbuNoBar +syn match zimbuComment "#.*$" contains=zimbuTodo,zimbuParam,@Spell + +syn match zimbuChar "'\\\=.'" + +syn keyword zimbuBasicType bool status +syn keyword zimbuBasicType int1 int2 int3 int4 int5 int6 int7 +syn keyword zimbuBasicType int9 int10 int11 int12 int13 int14 int15 +syn keyword zimbuBasicType int int8 int16 int32 int64 bigInt +syn keyword zimbuBasicType nat nat8 byte nat16 nat32 nat64 bigNat +syn keyword zimbuBasicType nat1 nat2 nat3 nat4 nat5 nat6 nat7 +syn keyword zimbuBasicType nat9 nat10 nat11 nat12 nat13 nat14 nat15 +syn keyword zimbuBasicType float float32 float64 float80 float128 +syn keyword zimbuBasicType fixed1 fixed2 fixed3 fixed4 fixed5 fixed6 +syn keyword zimbuBasicType fixed7 fixed8 fixed9 fixed10 fixed11 fixed12 +syn keyword zimbuBasicType fixed13 fixed14 fixed15 + +syn keyword zimbuCompType string stringval cstring varstring +syn keyword zimbuCompType bytes varbytes +syn keyword zimbuCompType tuple array list dict multiDict set multiSet +syn keyword zimbuCompType complex complex32 complex64 complex80 complex128 +syn keyword zimbuCompType proc func def thread evalThread lock cond pipe + +syn keyword zimbuType VAR ANY USE GET +syn match zimbuType "IO.File" +syn match zimbuType "IO.Stat" + +syn keyword zimbuStatement IF ELSE ELSEIF WHILE REPEAT FOR IN TO STEP +syn keyword zimbuStatement DO UNTIL SWITCH WITH +syn keyword zimbuStatement TRY CATCH FINALLY +syn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF +syn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE +syn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL +syn keyword zimbuStatement PART ALIAS CONNECT WRAP +syn keyword zimbuStatement BREAK CONTINUE PROCEED +syn keyword zimbuStatement RETURN EXIT THROW +syn keyword zimbuStatement IMPORT AS OPTIONS MAIN +syn keyword zimbuStatement INTERFACE MODULE ENUM BITS SHARED +syn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>" +syn match zimbuStatement "\" +syn match zimbuStatement "}" + +syn match zimbuAttribute "@backtrace=no\>" +syn match zimbuAttribute "@backtrace=yes\>" +syn match zimbuAttribute "@abstract\>" +syn match zimbuAttribute "@earlyInit\>" +syn match zimbuAttribute "@default\>" +syn match zimbuAttribute "@define\>" +syn match zimbuAttribute "@replace\>" +syn match zimbuAttribute "@final\>" + +syn match zimbuAttribute "@private\>" +syn match zimbuAttribute "@protected\>" +syn match zimbuAttribute "@public\>" +syn match zimbuAttribute "@file\>" +syn match zimbuAttribute "@directory\>" +syn match zimbuAttribute "@read=private\>" +syn match zimbuAttribute "@read=protected\>" +syn match zimbuAttribute "@read=public\>" +syn match zimbuAttribute "@read=file\>" +syn match zimbuAttribute "@read=directory\>" +syn match zimbuAttribute "@items=private\>" +syn match zimbuAttribute "@items=protected\>" +syn match zimbuAttribute "@items=public\>" +syn match zimbuAttribute "@items=file\>" +syn match zimbuAttribute "@items=directory\>" + +syn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET + +syn keyword zimbuOperator IS ISNOT ISA ISNOTA + +syn keyword zimbuModule ARG CHECK E IO PROTO SYS HTTP ZC ZWT TIME THREAD + +syn match zimbuString +"\([^"\\]\|\\.\)*\("\|$\)+ +syn match zimbuString +R"\([^"]\|""\)*\("\|$\)+ +syn region zimbuString start=+'''+ end=+'''+ + +syn keyword zimbuFixed TRUE FALSE NIL THIS THISTYPE FAIL OK +syn keyword zimbuError NULL + +" trailing whitespace +syn match zimbuSpaceError display excludenl "\S\s\+$"ms=s+1 +" mixed tabs and spaces +syn match zimbuSpaceError display " \+\t" +syn match zimbuSpaceError display "\t\+ " + +syn match zimbuUses contained "uses([a-zA-Z_ ,]*)" +syn match zimbuBlockComment contained " #.*" + +syn region zimbuCregion matchgroup=zimbuCblock start="^>>>" end="^<<<.*" contains=@Ccode,zimbuUses,zimbuBlockComment keepend + +syn sync minlines=2000 + +hi def link zimbuBasicType Type +hi def link zimbuCompType Type +hi def link zimbuType Type +hi def link zimbuStatement Statement +hi def link zimbuOperator Statement +hi def link zimbuMethod PreProc +hi def link zimbuModule PreProc +hi def link zimbuUses PreProc +hi def link zimbuAttribute PreProc +hi def link zimbuString Constant +hi def link zimbuChar Constant +hi def link zimbuFixed Constant +hi def link zimbuComment Comment +hi def link zimbuBlockComment Comment +hi def link zimbuCblock Comment +hi def link zimbuTodo Todo +hi def link zimbuParam Constant +hi def link zimbuNoBar Ignore +hi def link zimbuSpaceError Error +hi def link zimbuError Error + +let b:current_syntax = "zimbu" + +" vim: ts=8 From 2da3f6af3bfa3355c6bb13ef8069568337760ce3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 16:24:11 +0200 Subject: [PATCH 07/35] updated for version 7.3.518 Problem: When 'encoding' is a double-byte encoding ":helptags" may not find tags correctly. Solution: Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto) --- src/ex_cmds.c | 5 ++++- src/version.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ex_cmds.c b/src/ex_cmds.c index d719826bcb..a17b40cb68 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -6535,7 +6535,10 @@ helptags_one(dir, ext, tagfname, add_help_tags) p1 = vim_strchr(IObuff, '*'); /* find first '*' */ while (p1 != NULL) { - p2 = vim_strchr(p1 + 1, '*'); /* find second '*' */ + /* Use vim_strbyte() instead of vim_strchr() so that when + * 'encoding' is dbcs it still works, don't find '*' in the + * second byte. */ + p2 = vim_strbyte(p1 + 1, '*'); /* find second '*' */ if (p2 != NULL && p2 > p1 + 1) /* skip "*" and "**" */ { for (s = p1 + 1; s < p2; ++s) diff --git a/src/version.c b/src/version.c index 0f40176e05..b05c84345e 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 518, /**/ 517, /**/ From e07c1d71edb6cdcc25b775e68ba5708efb75c39b Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 16:24:12 +0200 Subject: [PATCH 08/35] Added tag v7-3-518 for changeset ec4ab9d832b0 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 004a65ce81..0d90ff2ce9 100644 --- a/.hgtags +++ b/.hgtags @@ -1854,3 +1854,4 @@ b782e2f9e6892116ae5d068249b5198bbe0042c6 v7-3-511 6c318419e3310fb9658ee6ead6b4ea33def8cb6d v7-3-515 02440d1fcc9aa953ebb7c0719405ccf2525f2777 v7-3-516 9a1dba1f969ac4cb2477626cd79a7a6b0bea1894 v7-3-517 +ec4ab9d832b0f5308c861423d99253fa496b3a3b v7-3-518 From 022e99b61a376473cbf67820e28baa8da3b32548 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 16:35:21 +0200 Subject: [PATCH 09/35] updated for version 7.3.519 Problem: When completefunction returns it cannot indicate end of completion mode. Solution: Recognize completefunction returning -3. (Mtsushita Shougo) --- src/edit.c | 10 +++++++++- src/version.c | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/edit.c b/src/edit.c index 17bbc6f2ee..badebb0bd6 100644 --- a/src/edit.c +++ b/src/edit.c @@ -5205,9 +5205,17 @@ ins_complete(c) } /* Return value -2 means the user complete function wants to - * cancel the complete without an error. */ + * cancel the complete without an error. + * Return value -3 does the same as -2 and leaves CTRL-X mode.*/ if (col == -2) return FAIL; + if (col == -3) + { + ctrl_x_mode = 0; + edit_submode = NULL; + msg_clr_cmdline(); + return FAIL; + } /* * Reset extended parameters of completion, when start new diff --git a/src/version.c b/src/version.c index b05c84345e..accf0b9b33 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 519, /**/ 518, /**/ From 2570d8c390794daa7ba6823e9464dbbe41e6a7c6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 16:35:21 +0200 Subject: [PATCH 10/35] Added tag v7-3-519 for changeset ebec52bc2800 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 0d90ff2ce9..7507d17602 100644 --- a/.hgtags +++ b/.hgtags @@ -1855,3 +1855,4 @@ b782e2f9e6892116ae5d068249b5198bbe0042c6 v7-3-511 02440d1fcc9aa953ebb7c0719405ccf2525f2777 v7-3-516 9a1dba1f969ac4cb2477626cd79a7a6b0bea1894 v7-3-517 ec4ab9d832b0f5308c861423d99253fa496b3a3b v7-3-518 +ebec52bc2800b8e51e522425fdca5c252e6d4f8e v7-3-519 From 8b9f36d4b5cd29d60c2931f5b5c5fb2b2f930a0c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 17:03:18 +0200 Subject: [PATCH 11/35] updated for version 7.3.520 Problem: Gvim starts up slow on Unbuntu 12.04. Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro Matsumoto) Do check $DISPLAY being set. --- src/gui.c | 16 ++++++++++++++++ src/gui_gtk_x11.c | 26 ++++++++++++++++++++++++-- src/proto/gui_gtk_x11.pro | 1 + src/version.c | 2 ++ 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/gui.c b/src/gui.c index 0219d1cfb9..b216121cfe 100644 --- a/src/gui.c +++ b/src/gui.c @@ -270,6 +270,12 @@ gui_do_fork() } /* Child */ +#ifdef FEAT_GUI_GTK + /* Call gtk_init_check() here after fork(). See gui_init_check(). */ + if (gui_mch_init_check() != OK) + exit(1); +#endif + # if defined(HAVE_SETSID) || defined(HAVE_SETPGID) /* * Change our process group. On some systems/shells a CTRL-C in the @@ -430,7 +436,17 @@ gui_init_check() #ifdef ALWAYS_USE_GUI result = OK; #else +# ifdef FEAT_GUI_GTK + /* + * Note: Don't call gtk_init_check() before fork, it will be called after + * the fork. When calling it before fork, it make vim hang for a while. + * See gui_do_fork(). + * Use a simpler check if the GUI window can probably be opened. + */ + result = gui.dofork ? gui_mch_early_init_check() : gui_mch_init_check(); +# else result = gui_mch_init_check(); +# endif #endif return result; } diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 091260942a..d70f418603 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -1414,7 +1414,29 @@ selection_get_cb(GtkWidget *widget UNUSED, } /* - * Check if the GUI can be started. Called before gvimrc is sourced. + * Check if the GUI can be started. Called before gvimrc is sourced and + * before fork(). + * Return OK or FAIL. + */ + int +gui_mch_early_init_check(void) +{ + char_u *p; + + /* Guess that when $DISPLAY isn't set the GUI can't start. */ + p = mch_getenv((char_u *)"DISPLAY"); + if (p == NULL || *p == NUL) + { + gui.dying = TRUE; + EMSG(_((char *)e_opendisp)); + return FAIL; + } + return OK; +} + +/* + * Check if the GUI can be started. Called before gvimrc is sourced but after + * fork(). * Return OK or FAIL. */ int @@ -3050,7 +3072,7 @@ gui_gtk_set_selection_targets(void) for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) { - /* OpenOffice tries to use TARGET_HTML and fails when it doesn't + /* OpenOffice tries to use TARGET_HTML and fails when we don't * return something, instead of trying another target. Therefore only * offer TARGET_HTML when it works. */ if (!clip_html && selection_targets[i].info == TARGET_HTML) diff --git a/src/proto/gui_gtk_x11.pro b/src/proto/gui_gtk_x11.pro index e395a0cfe6..56a779b49f 100644 --- a/src/proto/gui_gtk_x11.pro +++ b/src/proto/gui_gtk_x11.pro @@ -4,6 +4,7 @@ void gui_mch_free_all __ARGS((void)); void gui_mch_set_blinking __ARGS((long waittime, long on, long off)); void gui_mch_stop_blink __ARGS((void)); void gui_mch_start_blink __ARGS((void)); +int gui_mch_early_init_check __ARGS((void)); int gui_mch_init_check __ARGS((void)); void gui_mch_show_tabline __ARGS((int showit)); int gui_mch_showing_tabline __ARGS((void)); diff --git a/src/version.c b/src/version.c index accf0b9b33..34bba78be3 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 520, /**/ 519, /**/ From 32ebfbceaed6687d67dd9f6074bc929b569e757f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 17:03:18 +0200 Subject: [PATCH 12/35] Added tag v7-3-520 for changeset 7bafe52b6245 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 7507d17602..ced9220f3c 100644 --- a/.hgtags +++ b/.hgtags @@ -1856,3 +1856,4 @@ b782e2f9e6892116ae5d068249b5198bbe0042c6 v7-3-511 9a1dba1f969ac4cb2477626cd79a7a6b0bea1894 v7-3-517 ec4ab9d832b0f5308c861423d99253fa496b3a3b v7-3-518 ebec52bc2800b8e51e522425fdca5c252e6d4f8e v7-3-519 +7bafe52b6245761a242321352daca224e6b9df78 v7-3-520 From bb9b11b6c4e3dadff35103bce73b3f8eada9575f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 18:08:01 +0200 Subject: [PATCH 13/35] updated for version 7.3.521 Problem: Using "z=" on a multi-byte character may cause a crash. Solution: Don't use strlen() on an int pointer. --- src/spell.c | 14 ++++++++------ src/version.c | 2 ++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/spell.c b/src/spell.c index f3d64e7c56..2ab31c92fe 100644 --- a/src/spell.c +++ b/src/spell.c @@ -14494,13 +14494,15 @@ spell_soundfold_wsal(slang, inword, res) int p0 = -333; int c0; int did_white = FALSE; + int wordlen; + /* * Convert the multi-byte string to a wide-character string. * Remove accents, if wanted. We actually remove all non-word characters. * But keep white space. */ - n = 0; + wordlen = 0; for (s = inword; *s != NUL; ) { t = s; @@ -14521,12 +14523,12 @@ spell_soundfold_wsal(slang, inword, res) continue; } } - word[n++] = c; + word[wordlen++] = c; } - word[n] = NUL; + word[wordlen] = NUL; /* - * This comes from Aspell phonet.cpp. + * This algorithm comes from Aspell phonet.cpp. * Converted from C++ to C. Added support for multi-byte chars. * Changed to keep spaces. */ @@ -14711,7 +14713,7 @@ spell_soundfold_wsal(slang, inword, res) } if (k > k0) mch_memmove(word + i + k0, word + i + k, - sizeof(int) * (STRLEN(word + i + k) + 1)); + sizeof(int) * (wordlen - (i + k) + 1)); /* new "actual letter" */ c = word[i]; @@ -14739,7 +14741,7 @@ spell_soundfold_wsal(slang, inword, res) if (c != NUL) wres[reslen++] = c; mch_memmove(word, word + i + 1, - sizeof(int) * (STRLEN(word + i + 1) + 1)); + sizeof(int) * (wordlen - (i + 1) + 1)); i = 0; z0 = 1; } diff --git a/src/version.c b/src/version.c index 34bba78be3..dd6700dae5 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 521, /**/ 520, /**/ From bf75c36fbea0531bbfdc0af53f9bc19128f9308f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 18:08:01 +0200 Subject: [PATCH 14/35] Added tag v7-3-521 for changeset b14842cf382b --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index ced9220f3c..9f882fbb12 100644 --- a/.hgtags +++ b/.hgtags @@ -1857,3 +1857,4 @@ b782e2f9e6892116ae5d068249b5198bbe0042c6 v7-3-511 ec4ab9d832b0f5308c861423d99253fa496b3a3b v7-3-518 ebec52bc2800b8e51e522425fdca5c252e6d4f8e v7-3-519 7bafe52b6245761a242321352daca224e6b9df78 v7-3-520 +b14842cf382bd3f99ca090c985609c6dead5f9e0 v7-3-521 From f321b7cd062dfafa2c07c042cdae4281820cfb65 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 18:34:19 +0200 Subject: [PATCH 15/35] updated for version 7.3.522 Problem: Crash in vim_realloc() when using MEM_PROFILE. Solution: Avoid using a NULL argument. (Dominique Pelle) --- src/eval.c | 4 +++- src/version.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/eval.c b/src/eval.c index 9a81b4f22b..07cb87f998 100644 --- a/src/eval.c +++ b/src/eval.c @@ -14643,7 +14643,9 @@ f_readfile(argvars, rettv) long growmin = (long)((p - start) * 2 + prevlen); prevsize = grow50pc > growmin ? grow50pc : growmin; } - if ((newprev = vim_realloc(prev, prevsize)) == NULL) + newprev = prev == NULL ? alloc(prevsize) + : vim_realloc(prev, prevsize); + if (newprev == NULL) { do_outofmem_msg((long_u)prevsize); failed = TRUE; diff --git a/src/version.c b/src/version.c index dd6700dae5..0c866c5ec5 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 522, /**/ 521, /**/ From 6aa009225529de762601e8660b5ea67db803d8a9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 18:34:19 +0200 Subject: [PATCH 16/35] Added tag v7-3-522 for changeset e4899d2ff5d8 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 9f882fbb12..d04099b27a 100644 --- a/.hgtags +++ b/.hgtags @@ -1858,3 +1858,4 @@ ec4ab9d832b0f5308c861423d99253fa496b3a3b v7-3-518 ebec52bc2800b8e51e522425fdca5c252e6d4f8e v7-3-519 7bafe52b6245761a242321352daca224e6b9df78 v7-3-520 b14842cf382bd3f99ca090c985609c6dead5f9e0 v7-3-521 +e4899d2ff5d8e552ace52b7eafe02b2c5dcdb409 v7-3-522 From 0d1c3c479d7fd78f3386d7b6e562eefa1b476567 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 18:47:17 +0200 Subject: [PATCH 17/35] updated for version 7.3.523 Problem: ":diffupdate" doesn't check for files changed elsewhere. Solution: Add the ! flag. (Christian Brabandt) --- runtime/doc/diff.txt | 5 ++++- src/diff.c | 9 +++++++++ src/ex_cmds.h | 2 +- src/version.c | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index 288ddd78a8..bf40afa887 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -178,7 +178,7 @@ buffer. If you don't want a buffer to remain used for the diff do ":set nodiff" before hiding it. *:diffu* *:diffupdate* -:diffu[pdate] Update the diff highlighting and folds. +:diffu[pdate][!] Update the diff highlighting and folds. Vim attempts to keep the differences updated when you make changes to the text. This mostly takes care of inserted and deleted lines. Changes within a @@ -187,6 +187,9 @@ To force the differences to be updated use: > :diffupdate +If the ! is included Vim will check if the file was changed externally and +needs to be reloaded. It will prompt for each changed file, like `:checktime` +was used. Vim will show filler lines for lines that are missing in one window but are present in another. These lines were inserted in another file or deleted in diff --git a/src/diff.c b/src/diff.c index 5844ec9233..d9aaec8287 100644 --- a/src/diff.c +++ b/src/diff.c @@ -783,6 +783,15 @@ ex_diffupdate(eap) goto theend; } + /* :diffupdate! */ + if (eap != NULL && eap->forceit) + for (idx_new = idx_orig; idx_new < DB_COUNT; ++idx_new) + { + buf = curtab->tp_diffbuf[idx_new]; + if (buf_valid(buf)) + buf_check_timestamp(buf, FALSE); + } + /* Write the first buffer to a tempfile. */ buf = curtab->tp_diffbuf[idx_orig]; if (diff_write(buf, tmp_orig) == FAIL) diff --git a/src/ex_cmds.h b/src/ex_cmds.h index 16540bda09..ac61f1a0ab 100644 --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -304,7 +304,7 @@ EX(CMD_delfunction, "delfunction", ex_delfunction, EX(CMD_display, "display", ex_display, EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN), EX(CMD_diffupdate, "diffupdate", ex_diffupdate, - TRLBAR), + BANG|TRLBAR), EX(CMD_diffget, "diffget", ex_diffgetput, RANGE|EXTRA|TRLBAR|MODIFY), EX(CMD_diffoff, "diffoff", ex_diffoff, diff --git a/src/version.c b/src/version.c index 0c866c5ec5..82672b1d18 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 523 /**/ 522, /**/ From 870e4aa2899de96b45a6786cb1d55d10b2a27933 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 18:47:17 +0200 Subject: [PATCH 18/35] Added tag v7-3-523 for changeset d8ce4a2eb44e --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index d04099b27a..f659a6f1dd 100644 --- a/.hgtags +++ b/.hgtags @@ -1859,3 +1859,4 @@ ebec52bc2800b8e51e522425fdca5c252e6d4f8e v7-3-519 7bafe52b6245761a242321352daca224e6b9df78 v7-3-520 b14842cf382bd3f99ca090c985609c6dead5f9e0 v7-3-521 e4899d2ff5d8e552ace52b7eafe02b2c5dcdb409 v7-3-522 +d8ce4a2eb44e3e3d56db5e26d9982aeb48d7814b v7-3-523 From 70ae884f08a8be525e1093d9f82d986f7cf923da Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 21:49:28 +0200 Subject: [PATCH 19/35] Fix more 'cpo' issues in runtime files. --- runtime/doc/diff.txt | 2 +- runtime/doc/insert.txt | 12 ++++++++---- runtime/doc/todo.txt | 36 ++++++++++++---------------------- runtime/ftplugin/art.vim | 3 +-- runtime/ftplugin/cs.vim | 5 +++++ runtime/ftplugin/ishd.vim | 5 +++++ runtime/ftplugin/occam.vim | 5 +++++ runtime/ftplugin/pyrex.vim | 7 ++++++- runtime/ftplugin/sql.vim | 4 ++-- runtime/ftplugin/zimbu.vim | 4 ++-- runtime/indent/cmake.vim | 5 +++++ runtime/indent/css.vim | 5 +++++ runtime/indent/eiffel.vim | 7 ++++++- runtime/indent/idlang.vim | 5 ++--- runtime/indent/java.vim | 7 ++++++- runtime/indent/mp.vim | 7 ++++++- runtime/indent/occam.vim | 5 +++++ runtime/indent/sqlanywhere.vim | 5 +++++ runtime/indent/vim.vim | 7 ++++++- runtime/indent/xinetd.vim | 5 +++++ runtime/indent/xml.vim | 9 ++++++--- runtime/indent/zimbu.vim | 9 +++++++-- runtime/macros/less.vim | 2 +- runtime/syntax/dtd.vim | 23 ++++++---------------- runtime/syntax/help.vim | 8 ++++---- 25 files changed, 122 insertions(+), 70 deletions(-) diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index bf40afa887..ab582dcae0 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -1,4 +1,4 @@ -*diff.txt* For Vim version 7.3. Last change: 2011 Apr 14 +*diff.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index d8fa4086d1..4629c0f6c0 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.3. Last change: 2012 Apr 20 +*insert.txt* For Vim version 7.3. Last change: 2012 May 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1017,9 +1017,13 @@ The function must return the column where the completion starts. It must be a number between zero and the cursor column "col('.')". This involves looking at the characters just before the cursor and including those characters that could be part of the completed item. The text between this column and the -cursor column will be replaced with the matches. Return -1 if no completion -can be done, the completion will be cancelled with an error message. Return --2 to cancel silently. +cursor column will be replaced with the matches. + +Special return values: + -1 If no completion can be done, the completion will be cancelled with an + error message. + -2 To cancel silently and stay in completion mode. + -3 To cancel silently and leave completion mode. On the second invocation the arguments are: a:findstart 0 diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 9804c5d280..ba824ac8b8 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -43,27 +43,17 @@ Bug caused by patch 7.3.449. (Alex Afros, May 16) Add link to i/OS version on download page: http://applidium.com/en/applications/vim/ -Patch to fix helptags for multi-byte encoding. (Yasuhiro Matsumoto, 2012 May -10) - GTK: problem with 'L' in 'guioptions' changing the window width. (Aaron Cornelius, 2012 Feb 6) -Patch for completefunction. (Mtsushita Shougo, 2012 May 11) - Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro Matsumoto, 2012 Apr 18) Asked for another version of the patch. +Again May 18. Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3. -Gvim startup hangs in Ubuntu 12.04. (Yasuhiro Matsumoto, 2012 May 2) -Patch available on github. Updated May 8 and May 9?. - Spell checking: "zg" doesn't pick up the "ß" character. (Axel Bender, 2012 May -1) Christian Brabandt reports a crash when doing something similar. (May 2) -Fix for this: Christian Brabandt, 2012 May 9. - -Patch to avoid a crash when using MEM_PROFILE. (Dominique Pelle, 2012 May 14) +1) Win32: When a directory name contains an exclamation mark, completion doesn't complete the contents of the directory. No escaping for the "!"? (Jan @@ -71,9 +61,6 @@ Stocker, 2012 Jan 5) Issue 54: document behavior of -complete, also expands arg. -Patch to make ":diffupdate" check for buffers changed outside of Vim. -(Christian Brabandt, 2012 May 13, update later) - Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30) Fix by Christian Brabandt, 2012 May 2. But calling changed_window_setting() would be a simpler solution. @@ -166,9 +153,6 @@ Updated syntax file for ssh_config, maintainer doesn't respond. BufWinLeave triggers too late when quitting last window in a tab page. (Lech Lorens, 2012 Feb 21) -"fC" doesn't position the cursor correctly when there are concealed -characters. Patch by Christian Brabandt, 2011 Oct 11) - Patch for 'transparency' option. (Sergiu Dotenco, 2011 Sep 17) Only for MS-Windows. No documentation. Do we want this? @@ -184,12 +168,9 @@ Christian Brabandt has another incomplete patch. (2011 Jul 13) Also: Alignment in help with tabs gets messed up, esp. at ":help index". Probably need to make a tab work like there was no concealing. Possibly with an option. Like line wrapping works as if there is no concealing. - -'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt, -2012 Apr 2. - -'cursorline' works on a text line only. Add 'cursorscreenline' for -highlighting the screen line. (Christian Brabandt, 2012 Mar 31) +Patch by Dominique Pelle, Also fixes "fC" problem. + "fC" doesn't position the cursor correctly when there are concealed + characters. Patch by Christian Brabandt, 2011 Oct 11) With concealed text mouse click doesn't put the cursor in the right position. (Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly, @@ -199,6 +180,12 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2, only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug 21, Ben Fritz, 2010 Sep 14) +'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt, +2012 Apr 2. + +'cursorline' works on a text line only. Add 'cursorscreenline' for +highlighting the screen line. (Christian Brabandt, 2012 Mar 31) + Win32: Does building a 64 bit version with VC9 give warnings for int conversions? (Mike Williams) @@ -1121,6 +1108,7 @@ Latest version: 2011 May 18 8 Windows install with NSIS: make it possible to do a silent install, see http://nsis.sourceforge.net/Docs/Chapter4.html#4.12 Version from Guopeng Wen that does this (2010 Dec 27) +Alternative: MSI installer: https://github.com/petrkle/vim-msi/ Windows installer should install 32-bit version of right-click handler also on 64-bit systems. (Brian Cunningham, 2011 Dec 28) diff --git a/runtime/ftplugin/art.vim b/runtime/ftplugin/art.vim index cb95e6bf8f..c501a992d8 100644 --- a/runtime/ftplugin/art.vim +++ b/runtime/ftplugin/art.vim @@ -12,5 +12,4 @@ endif run ftplugin/lisp.vim setl lw-=if -setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema, - \for,schema,while +setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema,for,schema,while diff --git a/runtime/ftplugin/cs.vim b/runtime/ftplugin/cs.vim index 0ff3c9d56f..7c2cbda32f 100644 --- a/runtime/ftplugin/cs.vim +++ b/runtime/ftplugin/cs.vim @@ -10,6 +10,8 @@ endif " Don't load another plugin for this buffer let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim " Set 'formatoptions' to break comment lines but not other lines, " and insert the comment leader when hitting or using "o". @@ -22,3 +24,6 @@ if has("gui_win32") && !exists("b:browsefilter") let b:browsefilter = "C# Source Files (*.cs)\t*.cs\n" . \ "All Files (*.*)\t*.*\n" endif + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/ftplugin/ishd.vim b/runtime/ftplugin/ishd.vim index dedb32889d..33ef1510b5 100644 --- a/runtime/ftplugin/ishd.vim +++ b/runtime/ftplugin/ishd.vim @@ -8,6 +8,8 @@ let b:did_ftplugin = 1 setlocal foldmethod=syntax +" Using line continuation here. +let s:cpo_save = &cpo set cpo-=C " matchit support @@ -26,3 +28,6 @@ if has("gui_win32") && !exists("b:browsefilter") let b:browsefilter = "InstallShield Files (*.rul)\t*.rul\n" . \ "All Files (*.*)\t*.*\n" endif + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/ftplugin/occam.vim b/runtime/ftplugin/occam.vim index 9806318ef3..e9b7c014b3 100644 --- a/runtime/ftplugin/occam.vim +++ b/runtime/ftplugin/occam.vim @@ -9,6 +9,8 @@ if exists("b:did_ftplugin") finish endif let b:did_ftplugin = 1 +let s:keepcpo= &cpo +set cpo&vim "{{{ Indent settings " Set shift width for indent @@ -42,3 +44,6 @@ let b:undo_ftplugin = "setlocal shiftwidth< softtabstop< expandtab<" \ . " formatoptions< comments< textwidth<" \ . "| unlet! b:browsefiler" "}}} + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/ftplugin/pyrex.vim b/runtime/ftplugin/pyrex.vim index 69bd93dd1a..251da39df4 100644 --- a/runtime/ftplugin/pyrex.vim +++ b/runtime/ftplugin/pyrex.vim @@ -2,12 +2,14 @@ " Language: Pyrex " Maintainer: Marco Barisione " URL: http://marcobari.altervista.org/pyrex_vim.html -" Last Change: 2004 May 16 +" Last Change: 2012 May 18 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") finish endif +let s:keepcpo= &cpo +set cpo&vim " Behaves just like Python runtime! ftplugin/python.vim ftplugin/python_*.vim ftplugin/python/*.vim @@ -20,3 +22,6 @@ if has("gui_win32") && exists("b:browsefilter") \ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" . \ "All Files (*.*)\t*.*\n" endif + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/ftplugin/sql.vim b/runtime/ftplugin/sql.vim index f6084b703d..c13dcf1869 100644 --- a/runtime/ftplugin/sql.vim +++ b/runtime/ftplugin/sql.vim @@ -2,7 +2,7 @@ " Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase) " Version: 8.0 " Maintainer: David Fishburn -" Last Change: 2012 Mar 11 +" Last Change: 2012 May 18 " Download: http://vim.sourceforge.net/script.php?script_id=454 " For more details please use: @@ -67,7 +67,7 @@ if exists("b:did_ftplugin") endif let s:save_cpo = &cpo -set cpo= +set cpo&vim " Disable autowrapping for code, but enable for comments " t Auto-wrap text using textwidth diff --git a/runtime/ftplugin/zimbu.vim b/runtime/ftplugin/zimbu.vim index e50c1b65b5..85b57f464f 100644 --- a/runtime/ftplugin/zimbu.vim +++ b/runtime/ftplugin/zimbu.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: Zimbu " Maintainer: Bram Moolenaar -" Last Change: 2012 May 17 +" Last Change: 2012 May 18 " Only do this when not done yet for this buffer if exists("b:did_ftplugin") @@ -15,7 +15,7 @@ let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo-=C -let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif" +let b:undo_ftplugin = "setl fo< com< ofu< efm< tw< et< sts< sw< | if has('vms') | setl isk< | endif" " Set 'formatoptions' to break comment lines but not other lines, " and insert the comment leader when hitting or using "o". diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim index 8c408fb1ec..421afcb6d7 100644 --- a/runtime/indent/cmake.vim +++ b/runtime/indent/cmake.vim @@ -23,6 +23,8 @@ setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE( if exists("*CMakeGetIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim fun! CMakeGetIndent(lnum) let this_line = getline(a:lnum) @@ -83,3 +85,6 @@ fun! CMakeGetIndent(lnum) return ind endfun + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/indent/css.vim b/runtime/indent/css.vim index 2a09566e1a..f85bb05acb 100644 --- a/runtime/indent/css.vim +++ b/runtime/indent/css.vim @@ -15,6 +15,8 @@ setlocal nosmartindent if exists("*GetCSSIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim function s:prevnonblanknoncomment(lnum) let lnum = a:lnum @@ -74,3 +76,6 @@ function GetCSSIndent() return indent(pnum) + s:count_braces(pnum, 1) * &sw \ - s:count_braces(v:lnum, 0) * &sw endfunction + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/indent/eiffel.vim b/runtime/indent/eiffel.vim index db66bf8fea..472665275b 100644 --- a/runtime/indent/eiffel.vim +++ b/runtime/indent/eiffel.vim @@ -5,7 +5,7 @@ " $Date: 2004/12/09 21:33:52 $ " $Revision: 1.3 $ " URL: http://www.djoce.net/page/vim/ -" Last Change: 2004 Sept 14 : removed specific value for tab (sw) +" Last Change: 2012 May 18 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -37,6 +37,8 @@ let s:inheritance_dent = '\s*\(redefine\|rename\|export\)\>' if exists("*GetEiffelIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim function GetEiffelIndent() @@ -103,4 +105,7 @@ function GetEiffelIndent() return ind endfunction +let &cpo = s:keepcpo +unlet s:keepcpo + " vim:sw=2 diff --git a/runtime/indent/idlang.vim b/runtime/indent/idlang.vim index 97c31ada58..b4c6ae6fea 100644 --- a/runtime/indent/idlang.vim +++ b/runtime/indent/idlang.vim @@ -1,6 +1,6 @@ " IDL (Interactive Data Language) indent file. " Language: IDL (ft=idlang) -" Last change: 2002 Sep 23 +" Last change: 2012 May 18 " Maintainer: Aleksandar Jelenak " Only load this indent file when no other was loaded. @@ -9,8 +9,7 @@ if exists("b:did_indent") endif let b:did_indent = 1 -setlocal indentkeys=o,O,0=endif,0=ENDIF,0=endelse,0=ENDELSE,0=endwhile, - \0=ENDWHILE,0=endfor,0=ENDFOR,0=endrep,0=ENDREP +setlocal indentkeys=o,O,0=endif,0=ENDIF,0=endelse,0=ENDELSE,0=endwhile,0=ENDWHILE,0=endfor,0=ENDFOR,0=endrep,0=ENDREP setlocal indentexpr=GetIdlangIndent(v:lnum) diff --git a/runtime/indent/java.vim b/runtime/indent/java.vim index 3c48d3e35f..e0aec0faef 100644 --- a/runtime/indent/java.vim +++ b/runtime/indent/java.vim @@ -2,7 +2,7 @@ " Language: Java " Previous Maintainer: Toby Allsopp " Current Maintainer: Hong Xu -" Last Change: 2012 Jan 20 +" Last Change: 2012 May 18 " Version: 1.0 " License: Same as Vim. " Copyright (c) 2012 Hong Xu @@ -29,6 +29,8 @@ let b:undo_indent = "set cin< cino< indentkeys< indentexpr<" if exists("*GetJavaIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim function! SkipJavaBlanksAndComments(startline) let lnum = a:startline @@ -139,4 +141,7 @@ function GetJavaIndent() return theIndent endfunction +let &cpo = s:keepcpo +unlet s:keepcpo + " vi: sw=2 et diff --git a/runtime/indent/mp.vim b/runtime/indent/mp.vim index 1aea4f809c..a118eb8b60 100644 --- a/runtime/indent/mp.vim +++ b/runtime/indent/mp.vim @@ -1,7 +1,7 @@ " MetaPost indent file " Language: MetaPost " Maintainer: Eugene Minkovskii -" Last Change: 2003 Nov 21 +" Last Change: 2012 May 18 " Version: 0.1 " ========================================================================== @@ -56,6 +56,8 @@ setlocal indentkeys+=;,<:>,=if,=for,=def,=end,=else,=fi if exists("*GetMetaPostIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim " Auxiliary Definitions: {{{1 function! MetaNextNonblankNoncomment(pos) @@ -203,4 +205,7 @@ function! GetMetaPostIndent() endfunction " +let &cpo = s:keepcpo +unlet s:keepcpo + " vim:sw=2:fdm=marker diff --git a/runtime/indent/occam.vim b/runtime/indent/occam.vim index ba978e0069..bebb0528bb 100644 --- a/runtime/indent/occam.vim +++ b/runtime/indent/occam.vim @@ -20,6 +20,8 @@ setlocal indentkeys=o,O,0=: if exists("*GetOccamIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim "{{{ Indent definitions " Define carriage return indent @@ -180,3 +182,6 @@ function GetOccamIndent() endfunction "}}} + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim index fdafb622e5..afc312f8e0 100644 --- a/runtime/indent/sqlanywhere.vim +++ b/runtime/indent/sqlanywhere.vim @@ -48,6 +48,8 @@ setlocal indentexpr=GetSQLIndent() if exists("*GetSQLIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim " List of all the statements that start a new block. " These are typically words that start a line. @@ -382,4 +384,7 @@ function GetSQLIndent() return s:ModuloIndent(ind) endfunction +let &cpo = s:keepcpo +unlet s:keepcpo + " vim:sw=4: diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim index 40117a0070..8281d94c09 100644 --- a/runtime/indent/vim.vim +++ b/runtime/indent/vim.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Vim script " Maintainer: Bram Moolenaar -" Last Change: 2011 Mar 22 +" Last Change: 2012 May 18 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -16,6 +16,8 @@ setlocal indentkeys+==end,=else,=cat,=fina,=END,0\\ if exists("*GetVimIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim function GetVimIndent() " Find a non-blank line above the current line. @@ -79,4 +81,7 @@ function GetVimIndent() return ind endfunction +let &cpo = s:keepcpo +unlet s:keepcpo + " vim:sw=2 diff --git a/runtime/indent/xinetd.vim b/runtime/indent/xinetd.vim index f7a5341448..c8127237e8 100644 --- a/runtime/indent/xinetd.vim +++ b/runtime/indent/xinetd.vim @@ -15,6 +15,8 @@ setlocal nosmartindent if exists("*GetXinetdIndent") finish endif +let s:keepcpo= &cpo +set cpo&vim function s:count_braces(lnum, count_open) let n_open = 0 @@ -48,3 +50,6 @@ function GetXinetdIndent() return indent(pnum) + s:count_braces(pnum, 1) * &sw \ - s:count_braces(v:lnum, 0) * &sw endfunction + +let &cpo = s:keepcpo +unlet s:keepcpo diff --git a/runtime/indent/xml.vim b/runtime/indent/xml.vim index 4ac35b6af1..319dc39160 100644 --- a/runtime/indent/xml.vim +++ b/runtime/indent/xml.vim @@ -1,6 +1,6 @@ " Language: xml " Maintainer: Johannes Zellner -" Last Change: 2009-05-26 00:17:25 +" Last Change: 2012 May 18 " Notes: 1) does not indent pure non-xml code (e.g. embedded scripts) " 2) will be confused by unbalanced tags in comments " or CDATA sections. @@ -12,13 +12,13 @@ if exists("b:did_indent") finish endif let b:did_indent = 1 +let s:keepcpo= &cpo +set cpo&vim " [-- local settings (must come before aborting the script) --] setlocal indentexpr=XmlIndentGet(v:lnum,1) setlocal indentkeys=o,O,*,<>>,<<>,/,{,} -set cpo-=C - if !exists('b:xml_indent_open') let b:xml_indent_open = '.\{-}<\a' " pre tag, e.g.
@@ -93,4 +93,7 @@ fun! XmlIndentGet(lnum, use_syntax_check) return ind endfun +let &cpo = s:keepcpo +unlet s:keepcpo + " vim:ts=8 diff --git a/runtime/indent/zimbu.vim b/runtime/indent/zimbu.vim index a01510ded5..8df0eebe6f 100644 --- a/runtime/indent/zimbu.vim +++ b/runtime/indent/zimbu.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Zimbu " Maintainer: Bram Moolenaar -" Last Change: 2012 May 17 +" Last Change: 2011 Jun 19 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -16,13 +16,16 @@ setlocal indentkeys=0{,0},!^F,o,O,0=ELSE,0=ELSEIF,0=CASE,0=DEFAULT,0=FINALLY " We impose recommended defaults: no Tabs, 'shiftwidth' = 2 setlocal sw=2 et -let b:undo_indent = "setl et< ai< indentexpr=" +let b:undo_indent = "setl et< sw< ai< indentkeys< indentexpr=" " Only define the function once. if exists("*GetZimbuIndent") finish endif +let s:cpo_save = &cpo +set cpo&vim + " Come here when loading the script the first time. let s:maxoff = 50 " maximum number of lines to look backwards for () @@ -121,3 +124,5 @@ func GetZimbuIndent(lnum) return plindent endfunc +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/macros/less.vim b/runtime/macros/less.vim index 4888ed2b82..6ae5ebc63b 100644 --- a/runtime/macros/less.vim +++ b/runtime/macros/less.vim @@ -1,6 +1,6 @@ " Vim script to work like "less" " Maintainer: Bram Moolenaar -" Last Change: 2006 Dec 05 +" Last Change: 2012 May 18 " Avoid loading this file twice, allow the user to define his own script. if exists("loaded_less") diff --git a/runtime/syntax/dtd.vim b/runtime/syntax/dtd.vim index 76778ba881..001dbbddd3 100644 --- a/runtime/syntax/dtd.vim +++ b/runtime/syntax/dtd.vim @@ -13,17 +13,11 @@ " TODO: " - improve synchronizing. -if version < 600 - syntax clear - let __dtd_cpo_save__ = &cpo - set cpo& -else - if exists("b:current_syntax") - finish - endif - let s:dtd_cpo_save = &cpo - set cpo&vim +if exists("b:current_syntax") + finish endif +let s:dtd_cpo_save = &cpo +set cpo&vim if !exists("dtd_ignore_case") " I prefer having the case takes into consideration. @@ -168,13 +162,8 @@ if version >= 508 || !exists("did_dtd_syn_inits") delcommand HiLink endif -if version < 600 - let &cpo = __dtd_cpo_save__ - unlet __dtd_cpo_save__ -else - let &cpo = s:dtd_cpo_save - unlet s:dtd_cpo_save -endif +let &cpo = s:dtd_cpo_save +unlet s:dtd_cpo_save let b:current_syntax = "dtd" diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim index ddaad89622..8d85d02c8a 100644 --- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) -" Last Change: 2012 Apr 25 +" Last Change: 2012 May 18 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -25,10 +25,10 @@ else syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar endif if has("conceal") - syn match helpBar contained "|" conceal + syn match helpBar contained "[|`]" conceal syn match helpStar contained "\*" conceal else - syn match helpBar contained "|" + syn match helpBar contained "[|`]" syn match helpStar contained "\*" endif syn match helpNormal "|.*====*|" @@ -38,7 +38,7 @@ syn match helpVim "Vim version [0-9.a-z]\+" syn match helpVim "VIM REFERENCE.*" syn match helpOption "'[a-z]\{2,\}'" syn match helpOption "'t_..'" -syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 +syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBar syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore if has("conceal") From 1ff2f930198d2c105143df0db09cec697c13cd2a Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 21:54:13 +0200 Subject: [PATCH 20/35] updated for version 7.3.524 Problem: Missing comma. Solution: Add the comma. --- src/version.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/version.c b/src/version.c index 82672b1d18..6878ef2a1d 100644 --- a/src/version.c +++ b/src/version.c @@ -715,7 +715,9 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ - 523 + 524, +/**/ + 523, /**/ 522, /**/ From f40df4e5482a14ae7cd9924f17f40bb4009c0e13 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 18 May 2012 21:54:13 +0200 Subject: [PATCH 21/35] Added tag v7-3-524 for changeset ae1641c4fbcc --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index f659a6f1dd..f42ecc3017 100644 --- a/.hgtags +++ b/.hgtags @@ -1860,3 +1860,4 @@ ebec52bc2800b8e51e522425fdca5c252e6d4f8e v7-3-519 b14842cf382bd3f99ca090c985609c6dead5f9e0 v7-3-521 e4899d2ff5d8e552ace52b7eafe02b2c5dcdb409 v7-3-522 d8ce4a2eb44e3e3d56db5e26d9982aeb48d7814b v7-3-523 +ae1641c4fbcc8c25d27802d6048cb0767c4021d1 v7-3-524 From fd6eab7f54fb1e98e4694f4660b6206baf21d1b5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 11:02:41 +0200 Subject: [PATCH 22/35] updated for version 7.3.525 Problem: Compiler warning on 64 bit MS-Windows. Solution: Add type cast. (Mike Williams) --- src/ex_getln.c | 2 +- src/version.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ex_getln.c b/src/ex_getln.c index 3d0c26f05e..a3a9c7b91a 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -5263,7 +5263,7 @@ get_history_arg(xp, idx) { static char_u compl[2] = { NUL, NUL }; char *short_names = ":=@>?/"; - int short_names_count = STRLEN(short_names); + int short_names_count = (int)STRLEN(short_names); int history_name_count = sizeof(history_names) / sizeof(char *) - 1; if (idx < short_names_count) diff --git a/src/version.c b/src/version.c index 6878ef2a1d..50c3d03d4e 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 525, /**/ 524, /**/ From b89b88b0096f4a9d273f4fe52f0e63507c12d2be Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 11:02:41 +0200 Subject: [PATCH 23/35] Added tag v7-3-525 for changeset ac2e00f917df --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index f42ecc3017..961ad50963 100644 --- a/.hgtags +++ b/.hgtags @@ -1861,3 +1861,4 @@ b14842cf382bd3f99ca090c985609c6dead5f9e0 v7-3-521 e4899d2ff5d8e552ace52b7eafe02b2c5dcdb409 v7-3-522 d8ce4a2eb44e3e3d56db5e26d9982aeb48d7814b v7-3-523 ae1641c4fbcc8c25d27802d6048cb0767c4021d1 v7-3-524 +ac2e00f917df566b81b9e33891b102cba5b390e0 v7-3-525 From ba4f6a211f09df80f53a03e0c1b87b612d555cf2 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 11:04:38 +0200 Subject: [PATCH 24/35] updated for version 7.3.526 Problem: Confusing indenting for #ifdef. Solution: Remove and add indent. (Elias Diem) --- src/normal.c | 6 +++--- src/version.c | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/normal.c b/src/normal.c index 98f4a0a9f0..e3a02553f9 100644 --- a/src/normal.c +++ b/src/normal.c @@ -29,9 +29,9 @@ static int restart_VIsual_select = 0; static void set_vcount_ca __ARGS((cmdarg_T *cap, int *set_prevcount)); #endif static int -# ifdef __BORLANDC__ -_RTLENTRYF -# endif +#ifdef __BORLANDC__ + _RTLENTRYF +#endif nv_compare __ARGS((const void *s1, const void *s2)); static int find_command __ARGS((int cmdchar)); static void op_colon __ARGS((oparg_T *oap)); diff --git a/src/version.c b/src/version.c index 50c3d03d4e..9017505ff9 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 526, /**/ 525, /**/ From cc35435ccbcbff8c2f8a1bba5c5c359aab43fc5d Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 11:04:38 +0200 Subject: [PATCH 25/35] Added tag v7-3-526 for changeset 257c2878e0fc --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 961ad50963..59637e6bcf 100644 --- a/.hgtags +++ b/.hgtags @@ -1862,3 +1862,4 @@ e4899d2ff5d8e552ace52b7eafe02b2c5dcdb409 v7-3-522 d8ce4a2eb44e3e3d56db5e26d9982aeb48d7814b v7-3-523 ae1641c4fbcc8c25d27802d6048cb0767c4021d1 v7-3-524 ac2e00f917df566b81b9e33891b102cba5b390e0 v7-3-525 +257c2878e0fcabd5504dcfed910287374405440a v7-3-526 From 8f9e2e8e6a3ef24303fbef31765b3957e29b9b77 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 11:56:22 +0200 Subject: [PATCH 26/35] updated for version 7.3.527 Problem: Clang complains about non-ASCII characters in a string. Solution: Change to \x88 form. (Dominique Pelle) --- src/charset.c | 5 ++--- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/charset.c b/src/charset.c index 98d4bff405..d3ebfbf765 100644 --- a/src/charset.c +++ b/src/charset.c @@ -1602,10 +1602,9 @@ vim_isxdigit(c) #define LATIN1LOWER 'l' #define LATIN1UPPER 'U' -/* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]%_'abcdefghijklmnopqrstuvwxyz{|}~ */ static char_u latin1flags[257] = " UUUUUUUUUUUUUUUUUUUUUUUUUU llllllllllllllllllllllllll UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUllllllllllllllllllllllll llllllll"; -static char_u latin1upper[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~"; -static char_u latin1lower[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"; +static char_u latin1upper[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xf7\xd8\xd9\xda\xdb\xdc\xdd\xde\xff"; +static char_u latin1lower[257] = " !\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xd7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"; int vim_islower(c) diff --git a/src/version.c b/src/version.c index 9017505ff9..731a91ce50 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 527, /**/ 526, /**/ From e6951bf8e11be0a760308c5a5e93139abbd5ed62 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 11:56:22 +0200 Subject: [PATCH 27/35] Added tag v7-3-527 for changeset a17918b76ca1 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 59637e6bcf..776a319ee9 100644 --- a/.hgtags +++ b/.hgtags @@ -1863,3 +1863,4 @@ d8ce4a2eb44e3e3d56db5e26d9982aeb48d7814b v7-3-523 ae1641c4fbcc8c25d27802d6048cb0767c4021d1 v7-3-524 ac2e00f917df566b81b9e33891b102cba5b390e0 v7-3-525 257c2878e0fcabd5504dcfed910287374405440a v7-3-526 +a17918b76ca1296f63db0e81dea0e37b8b880150 v7-3-527 From d576a3c56b0706cd3a8d22a4822c96f9d7bd3ad7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 12:39:00 +0200 Subject: [PATCH 28/35] updated for version 7.3.528 Problem: Crash when closing last window in a tab. (Alex Efros) Solution: Use common code in close_last_window_tabpage(). (Christian Brabandt) --- src/version.c | 2 ++ src/window.c | 70 +++++++++++++++++++++++++++++++++------------------ 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/src/version.c b/src/version.c index 731a91ce50..7664b3600a 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 528, /**/ 527, /**/ diff --git a/src/window.c b/src/window.c index 0a0a2d4957..9f5e39efcd 100644 --- a/src/window.c +++ b/src/window.c @@ -23,6 +23,7 @@ static void win_rotate __ARGS((int, int)); static void win_totop __ARGS((int size, int flags)); static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height)); static int last_window __ARGS((void)); +static int close_last_window_tabpage __ARGS((win_T *win, int free_buf, tabpage_T *prev_curtab)); static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp)); static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp)); static tabpage_T *alt_tabpage __ARGS((void)); @@ -2104,6 +2105,42 @@ one_window() #endif } +/* + * Close the possibly last window in a tab page. + * Returns TRUE when the window was closed already. + */ + static int +close_last_window_tabpage(win, free_buf, prev_curtab) + win_T *win; + int free_buf; + tabpage_T *prev_curtab; +{ + if (firstwin == lastwin) + { + /* + * Closing the last window in a tab page. First go to another tab + * page and then close the window and the tab page. This avoids that + * curwin and curtab are invalid while we are freeing memory, they may + * be used in GUI events. + */ + goto_tabpage_tp(alt_tabpage()); + redraw_tabline = TRUE; + + /* Safety check: Autocommands may have closed the window when jumping + * to the other tab page. */ + if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win) + { + int h = tabline_height(); + + win_close_othertab(win, free_buf, prev_curtab); + if (h != tabline_height()) + shell_new_rows(); + } + return TRUE; + } + return FALSE; +} + /* * Close window "win". Only works for the current tab page. * If "free_buf" is TRUE related buffer may be unloaded. @@ -2143,29 +2180,11 @@ win_close(win, free_buf) } #endif - /* - * When closing the last window in a tab page first go to another tab - * page and then close the window and the tab page. This avoids that - * curwin and curtab are not invalid while we are freeing memory, they may - * be used in GUI events. - */ - if (firstwin == lastwin) - { - goto_tabpage_tp(alt_tabpage()); - redraw_tabline = TRUE; - - /* Safety check: Autocommands may have closed the window when jumping - * to the other tab page. */ - if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win) - { - int h = tabline_height(); - - win_close_othertab(win, free_buf, prev_curtab); - if (h != tabline_height()) - shell_new_rows(); - } - return; - } + /* When closing the last window in a tab page first go to another tab page + * and then close the window and the tab page to avoid that curwin and + * curtab are invalid while we are freeing memory. */ + if (close_last_window_tabpage(win, free_buf, prev_curtab)) + return; /* When closing the help window, try restoring a snapshot after closing * the window. Otherwise clear the snapshot, it's now invalid. */ @@ -2225,7 +2244,8 @@ win_close(win, free_buf) /* Autocommands may have closed the window already, or closed the only * other window or moved to another tab page. */ - if (!win_valid(win) || last_window() || curtab != prev_curtab) + if (!win_valid(win) || last_window() || curtab != prev_curtab + || close_last_window_tabpage(win, free_buf, prev_curtab)) return; /* Free the memory used for the window and get the window that received @@ -2310,7 +2330,7 @@ win_close(win, free_buf) /* * Close window "win" in tab page "tp", which is not the current tab page. - * This may be the last window ih that tab page and result in closing the tab, + * This may be the last window in that tab page and result in closing the tab, * thus "tp" may become invalid! * Caller must check if buffer is hidden and whether the tabline needs to be * updated. From 084798eb1821e307112d77513bfc9a74b3da730d Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 12:39:00 +0200 Subject: [PATCH 29/35] Added tag v7-3-528 for changeset fa17c8646feb --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 776a319ee9..1187b77fb5 100644 --- a/.hgtags +++ b/.hgtags @@ -1864,3 +1864,4 @@ ae1641c4fbcc8c25d27802d6048cb0767c4021d1 v7-3-524 ac2e00f917df566b81b9e33891b102cba5b390e0 v7-3-525 257c2878e0fcabd5504dcfed910287374405440a v7-3-526 a17918b76ca1296f63db0e81dea0e37b8b880150 v7-3-527 +fa17c8646feb4719639150f1c301ce6c1557afb7 v7-3-528 From 1997fee5fd3b775f186a986c5b0d7e1e1dfee392 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 13:12:36 +0200 Subject: [PATCH 30/35] updated for version 7.3.529 Problem: Using a count before "v" and "V" does not work (Kikyous) Solution: Make the count select that many characters or lines. (Christian Brabandt) --- src/normal.c | 18 ++++++++++++------ src/version.c | 2 ++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/normal.c b/src/normal.c index e3a02553f9..3c66a37734 100644 --- a/src/normal.c +++ b/src/normal.c @@ -7660,13 +7660,9 @@ nv_visual(cap) else /* start Visual mode */ { check_visual_highlight(); - if (cap->count0) /* use previously selected part */ + if (cap->count0 > 0 && resel_VIsual_mode != NUL) { - if (resel_VIsual_mode == NUL) /* there is none */ - { - beep_flush(); - return; - } + /* use previously selected part */ VIsual = curwin->w_cursor; VIsual_active = TRUE; @@ -7725,6 +7721,16 @@ nv_visual(cap) /* start Select mode when 'selectmode' contains "cmd" */ may_start_select('c'); n_start_visual_mode(cap->cmdchar); + if (VIsual_mode != 'V' && *p_sel == 'e') + ++cap->count1; /* include one more char */ + if (cap->count0 > 0 && --cap->count1 > 0) + { + /* With a count select that many characters or lines. */ + if (VIsual_mode == 'v' || VIsual_mode == Ctrl_V) + nv_right(cap); + else if (VIsual_mode == 'V') + nv_down(cap); + } } } } diff --git a/src/version.c b/src/version.c index 7664b3600a..fa1313acde 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 529, /**/ 528, /**/ From ee81a37a1346fa8fc89d6543be9369d671eeec8c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 13:12:37 +0200 Subject: [PATCH 31/35] Added tag v7-3-529 for changeset d83218a156dd --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 1187b77fb5..74071d6b1d 100644 --- a/.hgtags +++ b/.hgtags @@ -1865,3 +1865,4 @@ ac2e00f917df566b81b9e33891b102cba5b390e0 v7-3-525 257c2878e0fcabd5504dcfed910287374405440a v7-3-526 a17918b76ca1296f63db0e81dea0e37b8b880150 v7-3-527 fa17c8646feb4719639150f1c301ce6c1557afb7 v7-3-528 +d83218a156dd8258a5f2f3ae019c56f3e8851d48 v7-3-529 From 2cd0f82361c62cb08bb50e07a72645386e385455 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 14:06:36 +0200 Subject: [PATCH 32/35] updated for version 7.3.530 Problem: Gvim does not work when 'guioptions' includes "f". (Davido) Solution: Call gui_mch_init_check() when running GUI in the foreground. (Yasuhiro Matsumoto) --- src/gui.c | 4 ++++ src/version.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/gui.c b/src/gui.c index b216121cfe..ed80844f45 100644 --- a/src/gui.c +++ b/src/gui.c @@ -102,6 +102,10 @@ gui_start() else #endif { + /* If there is 'f' in 'guioptions' and specify -g argument, + * gui_mch_init_check() was not called yet. */ + if (gui_mch_init_check() != OK) + exit(1); gui_attempt_start(); } diff --git a/src/version.c b/src/version.c index fa1313acde..516737923a 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 530, /**/ 529, /**/ From 3f140ef39f542e8a1693394367c595901106fc44 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 25 May 2012 14:06:36 +0200 Subject: [PATCH 33/35] Added tag v7-3-530 for changeset 81d5f3a3e27f --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 74071d6b1d..0683b2e73e 100644 --- a/.hgtags +++ b/.hgtags @@ -1866,3 +1866,4 @@ ac2e00f917df566b81b9e33891b102cba5b390e0 v7-3-525 a17918b76ca1296f63db0e81dea0e37b8b880150 v7-3-527 fa17c8646feb4719639150f1c301ce6c1557afb7 v7-3-528 d83218a156dd8258a5f2f3ae019c56f3e8851d48 v7-3-529 +81d5f3a3e27fff9188ae34c41b939fc88c9837de v7-3-530 From 6e6cb849db961ddbd694a8f3c83215fcccfeded6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 27 May 2012 00:37:51 +0200 Subject: [PATCH 34/35] updated for version 7.3.531 Problem: GUI does not work on MS-Windows. Solution: Add the missing #ifdef. (Patrick Avery) --- src/gui.c | 2 ++ src/version.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/gui.c b/src/gui.c index ed80844f45..caf1f12059 100644 --- a/src/gui.c +++ b/src/gui.c @@ -102,10 +102,12 @@ gui_start() else #endif { +#ifdef FEAT_GUI_GTK /* If there is 'f' in 'guioptions' and specify -g argument, * gui_mch_init_check() was not called yet. */ if (gui_mch_init_check() != OK) exit(1); +#endif gui_attempt_start(); } diff --git a/src/version.c b/src/version.c index 516737923a..ee34eb4cb2 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 531, /**/ 530, /**/ From 0d0932b04b28f96017a6f1539a778ace6685cc26 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 27 May 2012 00:37:51 +0200 Subject: [PATCH 35/35] Added tag v7-3-531 for changeset c44f0f7424b9 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 0683b2e73e..663d7791b9 100644 --- a/.hgtags +++ b/.hgtags @@ -1867,3 +1867,4 @@ a17918b76ca1296f63db0e81dea0e37b8b880150 v7-3-527 fa17c8646feb4719639150f1c301ce6c1557afb7 v7-3-528 d83218a156dd8258a5f2f3ae019c56f3e8851d48 v7-3-529 81d5f3a3e27fff9188ae34c41b939fc88c9837de v7-3-530 +c44f0f7424b98d321d90994198374628911623ce v7-3-531