summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-05-03 21:26:49 +0000
committerBram Moolenaar <Bram@vim.org>2006-05-03 21:26:49 +0000
commit9c102387aff079b513533e93bb2a8109ccc1492c (patch)
tree5dc78df7736efe7105b9e939af9959d9f9f9fd7e
parentc05f93ffba24cd678b7f31b40e7b6f64ee12bf74 (diff)
updated for version 7.0g02
-rw-r--r--runtime/doc/eval.txt13
-rw-r--r--runtime/doc/gui.txt15
-rw-r--r--runtime/doc/insert.txt200
-rw-r--r--runtime/doc/map.txt13
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/tags4
-rw-r--r--runtime/macmap.vim118
-rw-r--r--runtime/syntax/cs.vim17
-rw-r--r--runtime/syntax/python.vim8
-rw-r--r--runtime/syntax/vrml.vim8
-rw-r--r--src/ex_docmd.c35
-rw-r--r--src/getchar.c17
-rw-r--r--src/gui.c10
-rw-r--r--src/if_ole.cpp2
-rw-r--r--src/option.c2
-rw-r--r--src/proto/term.pro2
-rw-r--r--src/quickfix.c70
-rw-r--r--src/spell.c4
-rw-r--r--src/term.c7
-rw-r--r--src/version.h6
-rw-r--r--src/window.c9
21 files changed, 332 insertions, 232 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 4ba9cae540..ff2d3812ec 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0g. Last change: 2006 May 01
+*eval.txt* For Vim version 7.0g. Last change: 2006 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2345,9 +2345,14 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
< There must be no space between the symbol (&/$/*/#) and the
name.
Trailing characters that can't be part of the name are often
- ignored, but don't depend on it.
- Note that the argument must be a string, not the name of the
- variable itself! For example: >
+ ignored, but don't depend on it, it may change in the future!
+ Example: >
+ exists("*strftime()")
+< This currently works, but it should really be: >
+ exists("*strftime")
+
+< Note that the argument must be a string, not the name of the
+ variable itself. For example: >
exists(bufcount)
< This doesn't check for existence of the "bufcount" variable,
but gets the value of "bufcount", and checks if that exists.
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index fe09d80382..56a1ff5c01 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt* For Vim version 7.0g. Last change: 2006 Apr 02
+*gui.txt* For Vim version 7.0g. Last change: 2006 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -588,12 +588,21 @@ The ":set ic" will not be echoed when using this menu. Messages from the
executed command are still given though. To shut them up too, add a ":silent"
in the executed command: >
:menu <silent> Search.Header :exe ":silent normal /Header\r"<CR>
-<
+"<silent>" may also appear just after "<special>" or "<script>".
+
+ *:menu-<special>* *:menu-special*
+Define a menu with <> notation for special keys, even though the "<" flag
+may appear in 'cpoptions'. This is useful if the side effect of setting
+'cpoptions' is not desired. Example: >
+ :menu <special> Search.Header /Header<CR>
+"<special>" must appear as the very first argument to the ":menu" command or
+just after "<silent>" or "<script>".
+
*:menu-<script>* *:menu-script*
The "to" part of the menu will be inspected for mappings. If you don't want
this, use the ":noremenu" command (or the similar one for a specific mode).
If you do want to use script-local mappings, add "<script>" as the very first
-argument to the ":menu" command or after "<silent>".
+argument to the ":menu" command or just after "<silent>" or "<special>".
*menu-priority*
You can give a priority to a menu. Menus with a higher priority go more to
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 8257838d16..48d4550236 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.0g. Last change: 2006 May 01
+*insert.txt* For Vim version 7.0g. Last change: 2006 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -919,6 +919,8 @@ Completion is done by a function that can be defined by the user with the
See below for how the function is called and an example |complete-functions|.
For remarks about specific filetypes see |compl-omni-filetypes|.
+More completion scripts will appear, check www.vim.org. Currently there is a
+first version for C++.
*i_CTRL-X_CTRL-O*
CTRL-X CTRL-O Guess what kind of item is in front of the cursor and
@@ -1272,32 +1274,21 @@ run |:make| command to detect formatting problems.
HTML flavor *html-flavor*
-Default HTML completion depends on filetype. For HTML files it is HTML
-4.01 Transitional (&ft=='html'), for XHTML it is XHTML 1.0 Strict
-(&ft=='xhtml').
+The default HTML completion depends on the filetype. For HTML files it is
+HTML 4.01 Transitional ('filetype' is "html"), for XHTML it is XHTML 1.0
+Strict ('filetype' is "xhtml").
-These are not the only HTML versions. To use another data file and still
-have benefits of custom completion for class, style, etc. attributes set
-b:html_omni_flavor variable. Example (in .vimrc or filetype plugin
-file): >
+When doing completion outside of any other tag you will have possibility to
+choose DOCTYPE and the appropriate data file will be loaded and used for all
+next completions.
- let g:html_omni_flavor = 'xhtml10s'
+More about format of data file in |xml-omni-datafile|. Some of the data files
+may be found on the Vim website (|www|).
-(Completion data file for HTML 4.01 Strict is also provided by Vim
-distribution.)
-
-Data for HTML completion will be read from 'autoload/xml/html10s.vim' file
-located somewhere in 'runtimepath'.
-
-Note: HTML completion files are also located in 'autoload/xml'
-directory.
-
-More about format of data file in |xml-omni-datafile|. Some of data
-files may in future be found on vim-online site (|www|).
-
-Note that b:html_omni_flavor may point to file with any XML data. This
-makes possible to mix PHP (|ft-php-omni|) completion with whatever XML
-dialect (assuming you have data file for it).
+Note that b:html_omni_flavor may point to a file with any XML data. This
+makes possible to mix PHP (|ft-php-omni|) completion with any XML dialect
+(assuming you have data file for it). Without setting that variable XHTML 1.0
+Strict will be used.
JAVASCRIPT *ft-javascript-omni*
@@ -1486,86 +1477,100 @@ PHP code and SQL code at the same time.
XML *ft-xml-omni*
-Vim 7 provides mechanism to context aware completion of XML files. It depends
-on special |xml-omni-datafile| and two commands: |:XMLns| and |:XMLent|.
-Features are:
+Vim 7 provides a mechanism for context aware completion of XML files. It
+depends on a special |xml-omni-datafile| and two commands: |:XMLns| and
+|:XMLent|. Features are:
-- after "<" complete tag name depending on context (no div suggest
- inside of an a tag)
-- inside of tag complete proper attributes (no width attribute for an
- a tag)
-- when attribute has limited number of possible values help to complete
+- after "<" complete the tag name, depending on context
+- inside of a tag complete proper attributes
+- when an attribute has a limited number of possible values help to complete
them
-- complete names of entities (defined in |xml-omni-datafile| and in current
- file with "<!ENTITY" declarations
+- complete names of entities (defined in |xml-omni-datafile| and in the
+ current file with "<!ENTITY" declarations)
- when used after "</" CTRL-X CTRL-O will close the last opened tag
Format of XML data file *xml-omni-datafile*
-Vim distribution provides two data files as examples (xhtml10s.vim, xsl.vim)
-
-XML data files are stored in "autoload/xml" directory in 'runtimepath'. They
-have meaningful name which will be used in commands. It should be unique name
-which will not create conflicts in future. For example name xhtml10s.vim means
-it is data file for XHTML 1.0 Strict.
+XML data files are stored in the "autoload/xml" directory in 'runtimepath'.
+Vim distribution provides examples of data files in the
+"$VIMRUNTIME/autoload/xml" directory. They have a meaningful name which will
+be used in commands. It should be a unique name which will not create
+conflicts. For example, the name xhtml10s.vim means it is the data file for
+XHTML 1.0 Strict.
-File contains one variable with fixed name: g:xmldata_xhtml10s . It is
-compound from two parts:
+Each file contains a variable with a name like g:xmldata_xhtml10s . It is
+a compound from two parts:
-1. "g:xmldata_" general prefix
-2. "xhtml10s" name of file and name of described XML dialect
+1. "g:xmldata_" general prefix, constant for all data files
+2. "xhtml10s" the name of the file and the name of the described XML
+ dialect; it will be used as an argument for the |:XMLns|
+ command
Part two must be exactly the same as name of file.
-Variable is data structure in form of |Dictionary|. Keys are tag names and
-values are two element |List|. First element of List is also List with names
-of possible children, second element is |Dictionary| with names of attributes
-as keys and possible values of attributes as values. Example: >
-
- let g:xmldata_crippledhtml = {
- \ "html":
- \ [ ["body", "head"], {"id": [], "xmlns": ["http://www.w3.org/1999/xhtml"],
- \ "lang": [], "xml:lang": [], "dir": ["ltr", "rtl"]}],
- \ "script":
- \ [ [], {"id": [], "charset": [], "type": ["text/javascript"], "src": [],
- \ "defer": ["BOOL"], "xml:space": ["preserve"]}],
- \ "meta":
- \ [ [], {"id": [], "http-equiv": [], "name": [], "content": [], "scheme":
- \ [], "lang": [], "xml:lang": [], "dir": ["ltr", "rtl"]}]
- \ "vimxmlentities": ["amp", "lt", "gt", "apos", "quot"]},
+The variable is a |Dictionary|. Keys are tag names and each value is a two
+element |List|. The first element of the List is also a List with the names
+of possible children. The second element is a |Dictionary| with the names of
+attributes as keys and the possible values of attributes as values. Example: >
+
+ let g:xmldata_crippled = {
+ \ "vimxmlentities": ["amp", "lt", "gt", "apos", "quot"],
+ \ 'vimxmlroot': ['tag1'],
+ \ 'tag1':
+ \ [ ['childoftag1a', 'childoftag1b'], {'attroftag1a': [],
+ \ 'attroftag1b': ['valueofattr1', 'valueofattr2']}],
+ \ 'childoftag1a':
+ \ [ [], {'attrofchild': ['attrofchild']}],
+ \ 'childoftag1b':
+ \ [ ['childoftag1a'], {'attrofchild': []}],
\ "vimxmltaginfo": {
- \ 'meta': ['/>', '']},
- \ "vimxmlattrinfo": {
- \ 'http-equiv': ['ContentType', '']}
-
-This example should be put in "autoload/xml/crippledhtml.vim" file.
-
-In example are visible four special elements:
-
-1. "vimxmlentities" - special key with List containing entities of this XML
+ \ 'tag1': ['Menu info', 'Long information visible in preview window']},
+ \ 'vimxmlattrinfo': {
+ \ 'attrofchild': ['Menu info', 'Long information visible in preview window']}}
+
+This example would be put in the "autoload/xml/crippled.vim" file and could
+help to write this file: >
+
+ <tag1 attroftag1b="valueofattr1">
+ <childoftag1a attrofchild>
+ &amp; &lt;
+ </childoftag1a>
+ <childoftag1b attrofchild="5">
+ <childoftag1a>
+ &gt; &apos; &quot;
+ </childoftag1a>
+ </childoftag1b>
+ </tag1>
+
+In the example four special elements are visible:
+
+1. "vimxmlentities" - a special key with List containing entities of this XML
dialect.
-2. "BOOL" - value of attribute key showing if attribute should be inserted
- bare ("defer" vs. 'defer="'). It can be the only element of List of
- attribute values.
-3. "vimxmltaginfo" - special key with dictionary containing as key tag names,
- as value two element List for additional menu info and long description.
-4. "vimxmlattrinfo" - special key with dictionary containing as key attribute
- names, as value two element List for additional menu info and long
+2. If the list containing possible values of attributes has one element and
+ this element is equal to the name of the attribute this attribute will be
+ treated as boolean and inserted as 'attrname' and not as 'attrname="'
+3. "vimxmltaginfo" - a special key with a Dictionary containing tag
+ names as keys and two element List as values, for additional menu info and
+ the long description.
+4. "vimxmlattrinfo" - special key with Dictionary containing attribute names
+ as keys and two element List as values, for additional menu info and long
description.
-Note: Tag names in data file MUST not contain namespace description. Check
-xsl.vim for example.
+Note: Tag names in the data file MUST not contain a namespace description.
+Check xsl.vim for an example.
+Note: All data and functions are publicly available as global
+variables/functions and can be used for personal editing functions.
DTD -> Vim *dtd2vim*
-On |www| is script |dtd2vim| which parses DTD and creates XML data file
+On |www| is the script |dtd2vim| which parses DTD and creates an XML data file
for Vim XML omni completion.
dtd2vim: http://www.vim.org/scripts/script.php?script_id=1462
-Check there and beginning of file for details of usage.
-Script requires perl and:
+Check the beginning of that file for usage details.
+The script requires perl and:
perlSGML: http://savannah.nongnu.org/projects/perlsgml
@@ -1574,12 +1579,12 @@ Commands
:XMLns {name} [{namespace}] *:XMLns*
-Vim has to know which data file should be used and with which namespace. For
-loading of data file and connecting data with prope namespace use |:XMLns|
-command. First (obligatory) argument is name of data (xhtml10s, xsl). Second
-argument is code of namespace (h, xsl). When used without second argument
-dialect will be used as default - without namespace declaration. For example
-to use XML completion in .xsl files: >
+Vim has to know which data file should be used and with which namespace. For
+loading of the data file and connecting data with the proper namespace use
+|:XMLns| command. The first (obligatory) argument is the name of the data
+(xhtml10s, xsl). The second argument is the code of namespace (h, xsl). When
+used without a second argument the dialect will be used as default - without
+namespace declaration. For example to use XML completion in .xsl files: >
:XMLns xhtml10s
:XMLns xsl xsl
@@ -1587,32 +1592,31 @@ to use XML completion in .xsl files: >
:XMLent {name} *:XMLent*
-By default entities will be completed from data file of default
-namespace. XMLent command should be used in case when there is no
-default namespace: >
+By default entities will be completed from the data file of the default
+namespace. The XMLent command should be used in case when there is no default
+namespace: >
:XMLent xhtml10s
Usage
-While used in situation (after declarations from previous part, | is
+While used in this situation (after declarations from previous part, | is
cursor position): >
<|
-Will complete to appropriate XHTML tag, and in this situation: >
+Will complete to an appropriate XHTML tag, and in this situation: >
<xsl:|
-Will complete to appropriate XSL tag.
+Will complete to an appropriate XSL tag.
-File xmlcomplete.vim provides through |autoload| mechanism
-GetLastOpenTag function which can be used in XML files to get name of
-last open tag with (b:unaryTagsStack has to be defined): >
-
- :echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
+The script xmlcomplete.vim, provided through the |autoload| mechanism,
+has the xmlcomplete#GetLastOpenTag() function which can be used in XML files
+to get the name of the last open tag (b:unaryTagsStack has to be defined): >
+ :echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 23af8b5647..34bee74436 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.0g. Last change: 2006 Apr 30
+*map.txt* For Vim version 7.0g. Last change: 2006 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -157,8 +157,9 @@ type "a", then "bar" will get inserted.
1.2 SPECIAL ARGUMENTS *:map-arguments*
-"<buffer>", "<silent>", "<script>", "<expr>" and "<unique>" can be used in any
-order. They must appear right after the command, before any other arguments.
+"<buffer>", "<silent>", "<special>", "<script>", "<expr>" and "<unique>" can
+be used in any order. They must appear right after the command, before any
+other arguments.
*:map-local* *:map-<buffer>* *E224* *E225*
If the first argument to one of these commands is "<buffer>" it will apply to
@@ -185,6 +186,12 @@ Prompts will still be given, e.g., for inputdialog().
Using "<silent>" for an abbreviation is possible, but will cause redrawing of
the command line to fail.
+ *:map-<special>* *:map-special*
+Define a mapping with <> notation for special keys, even though the "<" flag
+may appear in 'cpoptions'. This is useful if the side effect of setting
+'cpoptions' is not desired. Example: >
+ :map <special> <F12> /Header<CR>
+<
*:map-<script>* *:map-script*
If the first argument to one of these commands is "<script>" and it is used to
define a new mapping or abbreviation, the mapping will only remap characters
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 271ae8784c..37e440f203 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.0g. Last change: 2006 May 02
+*options.txt* For Vim version 7.0g. Last change: 2006 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4792,6 +4792,8 @@ A jump table for the options with a short description can be found at |Q_op|.
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is
invoked and what it should return.
+ This option is usually set by a filetype plugin.
+ |:filetype-plugin-on|
*'operatorfunc'* *'opfunc'*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f3060936bb..5b6025d280 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2273,6 +2273,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:map-<expr> map.txt /*:map-<expr>*
:map-<script> map.txt /*:map-<script>*
:map-<silent> map.txt /*:map-<silent>*
+:map-<special> map.txt /*:map-<special>*
:map-<unique> map.txt /*:map-<unique>*
:map-alt-keys map.txt /*:map-alt-keys*
:map-arguments map.txt /*:map-arguments*
@@ -2283,6 +2284,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:map-operator map.txt /*:map-operator*
:map-script map.txt /*:map-script*
:map-silent map.txt /*:map-silent*
+:map-special map.txt /*:map-special*
:map-special-chars map.txt /*:map-special-chars*
:map-special-keys map.txt /*:map-special-keys*
:map-undo map.txt /*:map-undo*
@@ -2301,10 +2303,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:menu gui.txt /*:menu*
:menu-<script> gui.txt /*:menu-<script>*
:menu-<silent> gui.txt /*:menu-<silent>*
+:menu-<special> gui.txt /*:menu-<special>*
:menu-disable gui.txt /*:menu-disable*
:menu-enable gui.txt /*:menu-enable*
:menu-script gui.txt /*:menu-script*
:menu-silent gui.txt /*:menu-silent*
+:menu-special gui.txt /*:menu-special*
:menut mlang.txt /*:menut*
:menutrans mlang.txt /*:menutrans*
:menutranslate mlang.txt /*:menutranslate*
diff --git a/runtime/macmap.vim b/runtime/macmap.vim
index 1717d99c95..dc76f15f96 100644
--- a/runtime/macmap.vim
+++ b/runtime/macmap.vim
@@ -4,80 +4,72 @@
"
" Define Mac-standard keyboard shortcuts.
-" Save and restore compatible mode.
-let s:save_cpo = &cpo
-set cpo&vim
+" We don't change 'cpoptions' here, because it would not be set properly when
+" a .vimrc file is found later. Thus don't use line continuation and use
+" <special> in mappings.
-nnoremap <D-n> :confirm enew<CR>
-vmap <D-n> <Esc><D-n>gv
-imap <D-n> <C-O><D-n>
-cmap <D-n> <C-C><D-n>
-omap <D-n> <Esc><D-n>
+nnoremap <special> <D-n> :confirm enew<CR>
+vmap <special> <D-n> <Esc><D-n>gv
+imap <special> <D-n> <C-O><D-n>
+cmap <special> <D-n> <C-C><D-n>
+omap <special> <D-n> <Esc><D-n>
-nnoremap <D-o> :browse confirm e<CR>
-vmap <D-o> <Esc><D-o>gv
-imap <D-o> <C-O><D-o>
-cmap <D-o> <C-C><D-o>
-omap <D-o> <Esc><D-o>
+nnoremap <special> <D-o> :browse confirm e<CR>
+vmap <special> <D-o> <Esc><D-o>gv
+imap <special> <D-o> <C-O><D-o>
+cmap <special> <D-o> <C-C><D-o>
+omap <special> <D-o> <Esc><D-o>
-nnoremap <silent> <D-w> :if winheight(2) < 0 <Bar>
- \ confirm enew <Bar>
- \ else <Bar>
- \ confirm close <Bar>
- \ endif<CR>
-vmap <D-w> <Esc><D-w>gv
-imap <D-w> <C-O><D-w>
-cmap <D-w> <C-C><D-w>
-omap <D-w> <Esc><D-w>
+nnoremap <silent> <special> <D-w> :if winheight(2) < 0 <Bar> confirm enew <Bar> else <Bar> confirm close <Bar> endif<CR>
+vmap <special> <D-w> <Esc><D-w>gv
+imap <special> <D-w> <C-O><D-w>
+cmap <special> <D-w> <C-C><D-w>
+omap <special> <D-w> <Esc><D-w>
-nnoremap <silent> <D-s> :if expand("%") == ""<Bar>browse confirm w<Bar>
- \ else<Bar>confirm w<Bar>endif<CR>
-vmap <D-s> <Esc><D-s>gv
-imap <D-s> <C-O><D-s>
-cmap <D-s> <C-C><D-s>
-omap <D-s> <Esc><D-s>
+nnoremap <silent> <special> <D-s> :if expand("%") == ""<Bar>browse confirm w<Bar> else<Bar>confirm w<Bar>endif<CR>
+vmap <special> <D-s> <Esc><D-s>gv
+imap <special> <D-s> <C-O><D-s>
+cmap <special> <D-s> <C-C><D-s>
+omap <special> <D-s> <Esc><D-s>
-nnoremap <D-S-s> :browse confirm saveas<CR>
-vmap <D-S-s> <Esc><D-s>gv
-imap <D-S-s> <C-O><D-s>
-cmap <D-S-s> <C-C><D-s>
-omap <D-S-s> <Esc><D-s>
+nnoremap <special> <D-S-s> :browse confirm saveas<CR>
+vmap <special> <D-S-s> <Esc><D-s>gv
+imap <special> <D-S-s> <C-O><D-s>
+cmap <special> <D-S-s> <C-C><D-s>
+omap <special> <D-S-s> <Esc><D-s>
" From the Edit menu of SimpleText:
-nnoremap <D-z> u
-vmap <D-z> <Esc><D-z>gv
-imap <D-z> <C-O><D-z>
-cmap <D-z> <C-C><D-z>
-omap <D-z> <Esc><D-z>
+nnoremap <special> <D-z> u
+vmap <special> <D-z> <Esc><D-z>gv
+imap <special> <D-z> <C-O><D-z>
+cmap <special> <D-z> <C-C><D-z>
+omap <special> <D-z> <Esc><D-z>
-vnoremap <D-x> "+x
+vnoremap <special> <D-x> "+x
-vnoremap <D-c> "+y
+vnoremap <special> <D-c> "+y
-cnoremap <D-c> <C-Y>
+cnoremap <special> <D-c> <C-Y>
-nnoremap <D-v> "+gP
-cnoremap <D-v> <C-R>+
-execute 'vnoremap <script> <D-v>' paste#paste_cmd['v']
-execute 'inoremap <script> <D-v>' paste#paste_cmd['i']
+nnoremap <special> <D-v> "+gP
+cnoremap <special> <D-v> <C-R>+
+execute 'vnoremap <script> <special> <D-v>' paste#paste_cmd['v']
+execute 'inoremap <script> <special> <D-v>' paste#paste_cmd['i']
-nnoremap <silent> <D-a> :if &slm != ""<Bar>exe ":norm gggH<C-O>G"<Bar>
- \ else<Bar>exe ":norm ggVG"<Bar>endif<CR>
-vmap <D-a> <Esc><D-a>
-imap <D-a> <Esc><D-a>
-cmap <D-a> <C-C><D-a>
-omap <D-a> <Esc><D-a>
+nnoremap <silent> <special> <D-a> :if &slm != ""<Bar>exe ":norm gggH<C-O>G"<Bar> else<Bar>exe ":norm ggVG"<Bar>endif<CR>
+vmap <special> <D-a> <Esc><D-a>
+imap <special> <D-a> <Esc><D-a>
+cmap <special> <D-a> <C-C><D-a>
+omap <special> <D-a> <Esc><D-a>
-nnoremap <D-f> /
-vmap <D-f> <Esc><D-f>
-imap <D-f> <Esc><D-f>
-cmap <D-f> <C-C><D-f>
-omap <D-f> <Esc><D-f>
+nnoremap <special> <D-f> /
+vmap <special> <D-f> <Esc><D-f>
+imap <special> <D-f> <Esc><D-f>
+cmap <special> <D-f> <C-C><D-f>
+omap <special> <D-f> <Esc><D-f>
-nnoremap <D-g> n
-vmap <D-g> <Esc><D-g>
-imap <D-g> <C-O><D-g>
-cmap <D-g> <C-C><D-g>
-omap <D-g> <Esc><D-g>
-
-let &cpo = s:save_cpo
+nnoremap <special> <D-g> n
+vmap <special> <D-g> <Esc><D-g>
+imap <special> <D-g> <C-O><D-g>
+cmap <special> <D-g> <C-C><D-g>
+omap <special> <D-g> <Esc><D-g>
diff --git a/runtime/syntax/cs.vim b/runtime/syntax/cs.vim
index 6a61ed261e..8b63e48b04 100644
--- a/runtime/syntax/cs.vim
+++ b/runtime/syntax/cs.vim
@@ -1,7 +1,8 @@
" Vim syntax file
" Language: C#
-" Maintainer: Johannes Zellner <johannes@zellner.org>
-" Last Change: Mo, 24 Apr 2006 10:11:07 CEST
+" Maintainer: Anduin Withers <awithers@anduin.com>
+" Former Maintainer: Johannes Zellner <johannes@zellner.org>
+" Last Change: Sun Apr 30 19:26:18 PDT 2006
" Filenames: *.cs
" $Id$
"
@@ -38,11 +39,16 @@ syn keyword csException try catch finally throw
" TODO:
syn keyword csUnspecifiedStatement as base checked event fixed in is lock new operator out params ref sizeof stackalloc this typeof unchecked unsafe using
" TODO:
-syn keyword csUnsupportedStatement get set add remove value
+syn keyword csUnsupportedStatement add remove value
" TODO:
syn keyword csUnspecifiedKeyword explicit implicit
+" Contextual Keywords
+syn match csContextualStatement /\<yield[[:space:]\n]\+\(return\|break\)/me=s+5
+syn match csContextualStatement /\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7
+syn match csContextualStatement /\<\(get\|set\)[[:space:]\n]*{/me=s+3
+syn match csContextualStatement /\<where\>[^:]\+:/me=s+5
" Comments
"
@@ -79,8 +85,10 @@ hi def link xmlRegion Comment
" [1] 9.5 Pre-processing directives
syn region csPreCondit
- \ start="^\s*#\s*\(define\|undef\|if\|elif\|else\|endif\|line\|error\|warning\|region\|endregion\)"
+ \ start="^\s*#\s*\(define\|undef\|if\|elif\|else\|endif\|line\|error\|warning\)"
\ skip="\\$" end="$" contains=csComment keepend
+syn region csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$"
+ \ end="^\s*#\s*endregion" transparent fold contains=TOP
@@ -115,6 +123,7 @@ hi def link csException Exception
hi def link csUnspecifiedStatement Statement
hi def link csUnsupportedStatement Statement
hi def link csUnspecifiedKeyword Keyword
+hi def link csContextualStatement Statement
hi def link csOperatorError Error
hi def link csTodo Todo
diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim
index 52873e977c..2e387421d7 100644
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -52,6 +52,9 @@ syn keyword pythonPreCondit import from as
syn match pythonComment "#.*$" contains=pythonTodo
syn keyword pythonTodo TODO FIXME XXX contained
+" Decorators (new in Python 2.4)
+syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
+
" strings
syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape
syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape
@@ -85,6 +88,8 @@ endif
if exists("python_highlight_builtins")
" builtin functions, types and objects, not really part of the syntax
+ syn keyword pythonBuiltin True False bool enumerate set frozenset help
+ syn keyword pythonBuiltin reversed sorted sum
syn keyword pythonBuiltin Ellipsis None NotImplemented __import__ abs
syn keyword pythonBuiltin apply buffer callable chr classmethod cmp
syn keyword pythonBuiltin coerce compile complex delattr dict dir divmod
@@ -110,6 +115,8 @@ if exists("python_highlight_exceptions")
syn keyword pythonException StandardError StopIteration SyntaxError
syn keyword pythonException SyntaxWarning SystemError SystemExit TabError
syn keyword pythonException TypeError UnboundLocalError UnicodeError
+ syn keyword pythonException UnicodeEncodeError UnicodeDecodeError
+ syn keyword pythonException UnicodeTranslateError
syn keyword pythonException UserWarning ValueError Warning WindowsError
syn keyword pythonException ZeroDivisionError
endif
@@ -151,6 +158,7 @@ if version >= 508 || !exists("did_python_syn_inits")
HiLink pythonPreCondit PreCondit
HiLink pythonComment Comment
HiLink pythonTodo Todo
+ HiLink pythonDecorator Define
if exists("python_highlight_numbers")
HiLink pythonNumber Number
endif
diff --git a/runtime/syntax/vrml.vim b/runtime/syntax/vrml.vim
index 651a39b913..44814aad86 100644
--- a/runtime/syntax/vrml.vim
+++ b/runtime/syntax/vrml.vim
@@ -1,9 +1,9 @@
" Vim syntax file
" Language: VRML97
" Modified from: VRML 1.0C by David Brown <dbrown@cgs.c4.gmeds.com>
-" Maintainer: Gregory Seidman <gseidman@acm.org>
-" URL: http://www.cs.brown.edu/~gss/vim/syntax/vrml.vim
-" Last change: 2003 May 11
+" Maintainer: vacancy!
+" Former Maintainer: Gregory Seidman <gsslist+vim@anthropohedron.net>
+" Last change: 2006 May 03
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -195,7 +195,7 @@ syn sync minlines=1
if version >= 600
"FOLDS!
syn sync fromstart
- setlocal foldmethod=syntax
+ "setlocal foldmethod=syntax
syn region braceFold start="{" end="}" transparent fold contains=TOP
syn region bracketFold start="\[" end="]" transparent fold contains=TOP
syn region VRMLString start=+"+ skip=+\\\\\|\\"+ end=+"+ fold contains=VRMLSpecial,VRMLjScriptString
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 5891f83f5d..368d65c77b 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4999,7 +4999,7 @@ uc_add_command(name, name_len, rep, argt, def, flags, compl, compl_arg, force)
char_u *rep_buf = NULL;
garray_T *gap;
- replace_termcodes(rep, &rep_buf, FALSE, FALSE);
+ replace_termcodes(rep, &rep_buf, FALSE, FALSE, FALSE);
if (rep_buf == NULL)
{
/* Can't replace termcodes - try using the string as is */
@@ -9855,29 +9855,12 @@ makeopens(fd, dirnow)
return FAIL;
/*
- * Wipe out an empty unnamed buffer we started in.
- */
- if (put_line(fd, "if exists('s:wipebuf')") == FAIL)
- return FAIL;
- if (put_line(fd, " exe 'bwipe ' . s:wipebuf") == FAIL)
- return FAIL;
- if (put_line(fd, "endif") == FAIL)
- return FAIL;
- if (put_line(fd, "unlet! s:wipebuf") == FAIL)
- return FAIL;
-
- /*
* Restore window sizes again after jumping around in windows, because
* the current window has a minimum size while others may not.
*/
if (nr > 1 && ses_winsizes(fd, restore_size) == FAIL)
return FAIL;
- /* Re-apply 'winheight', 'winwidth' and 'shortmess'. */
- if (fprintf(fd, "set winheight=%ld winwidth=%ld shortmess=%s",
- p_wh, p_wiw, p_shm) < 0 || put_eol(fd) == FAIL)
- return FAIL;
-
/* Don't continue in another tab page when doing only the current one
* or when at the last tab page. */
if (!(ssop_flags & SSOP_TABPAGES) || curtab->tp_next == NULL)
@@ -9893,6 +9876,22 @@ makeopens(fd, dirnow)
return FAIL;
}
+ /*
+ * Wipe out an empty unnamed buffer we started in.
+ */
+ if (put_line(fd, "if exists('s:wipebuf')") == FAIL)
+ return FAIL;
+ if (put_line(fd, " exe 'bwipe ' . s:wipebuf") == FAIL)
+ return FAIL;
+ if (put_line(fd, "endif") == FAIL)
+ return FAIL;
+ if (put_line(fd, "unlet! s:wipebuf") == FAIL)
+ return FAIL;
+
+ /* Re-apply 'winheight', 'winwidth' and 'shortmess'. */
+ if (fprintf(fd, "set winheight=%ld winwidth=%ld shortmess=%s",
+ p_wh, p_wiw, p_shm) < 0 || put_eol(fd) == FAIL)
+ return FAIL;
/*
* Lastly, execute the x.vim file if it exists.
diff --git a/src/getchar.c b/src/getchar.c
index 88e724ff31..7d2cfd786c 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3034,6 +3034,7 @@ do_map(maptype, arg, mode,