mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.0209
This commit is contained in:
parent
eddf53b02e
commit
5e3cb7e869
@ -71,6 +71,7 @@ DOCS = \
|
|||||||
pattern.txt \
|
pattern.txt \
|
||||||
pi_gzip.txt \
|
pi_gzip.txt \
|
||||||
pi_netrw.txt \
|
pi_netrw.txt \
|
||||||
|
pi_paren.txt \
|
||||||
pi_spec.txt \
|
pi_spec.txt \
|
||||||
pi_tar.txt \
|
pi_tar.txt \
|
||||||
pi_zip.txt \
|
pi_zip.txt \
|
||||||
@ -196,6 +197,7 @@ HTMLS = \
|
|||||||
pattern.html \
|
pattern.html \
|
||||||
pi_gzip.html \
|
pi_gzip.html \
|
||||||
pi_netrw.html \
|
pi_netrw.html \
|
||||||
|
pi_paren.html \
|
||||||
pi_spec.html \
|
pi_spec.html \
|
||||||
print.html \
|
print.html \
|
||||||
quickfix.html \
|
quickfix.html \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 7.0aa. Last change: 2006 Feb 20
|
*autocmd.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -471,6 +471,8 @@ CursorHoldI Just like CursorHold, but in Insert mode.
|
|||||||
|
|
||||||
*CursorMoved*
|
*CursorMoved*
|
||||||
CursorMoved After the cursor was moved in Normal mode.
|
CursorMoved After the cursor was moved in Normal mode.
|
||||||
|
Also when the text of the cursor line has been
|
||||||
|
changed, e.g., with "x", "rx" or "p".
|
||||||
Not triggered when there is typeahead or when
|
Not triggered when there is typeahead or when
|
||||||
an operator is pending.
|
an operator is pending.
|
||||||
For an example see |match-parens|.
|
For an example see |match-parens|.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 26
|
*eval.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -3361,12 +3361,6 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
|||||||
"\c" to the pattern to ignore case: >
|
"\c" to the pattern to ignore case: >
|
||||||
:let idx = match(haystack, '\cneedle')
|
:let idx = match(haystack, '\cneedle')
|
||||||
<
|
<
|
||||||
When {count} is given use the {count}'th match. When a match
|
|
||||||
is found in a String the search for the next one starts on
|
|
||||||
character further. Thus this example results in 1: >
|
|
||||||
echo match("testing", "..", 0, 2)
|
|
||||||
< In a |List| the search continues in the next item.
|
|
||||||
|
|
||||||
If {start} is given, the search starts from byte index
|
If {start} is given, the search starts from byte index
|
||||||
{start} in a String or item {start} in a |List|.
|
{start} in a String or item {start} in a |List|.
|
||||||
The result, however, is still the index counted from the
|
The result, however, is still the index counted from the
|
||||||
@ -3377,11 +3371,19 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
|||||||
< result is again "4". >
|
< result is again "4". >
|
||||||
:echo match("testing", "t", 2)
|
:echo match("testing", "t", 2)
|
||||||
< result is "3".
|
< result is "3".
|
||||||
|
For a String, if {start} > 0 then it is like the string starts
|
||||||
|
{start} bytes later, thus "^" will match there.
|
||||||
For a String, if {start} < 0, it will be set to 0. For a list
|
For a String, if {start} < 0, it will be set to 0. For a list
|
||||||
the index is counted from the end.
|
the index is counted from the end.
|
||||||
If {start} is out of range (> strlen({expr} for a String or
|
If {start} is out of range (> strlen({expr} for a String or
|
||||||
> len({expr} for a |List|) -1 is returned.
|
> len({expr} for a |List|) -1 is returned.
|
||||||
|
|
||||||
|
When {count} is given use the {count}'th match. When a match
|
||||||
|
is found in a String the search for the next one starts on
|
||||||
|
character further. Thus this example results in 1: >
|
||||||
|
echo match("testing", "..", 0, 2)
|
||||||
|
< In a |List| the search continues in the next item.
|
||||||
|
|
||||||
See |pattern| for the patterns that are accepted.
|
See |pattern| for the patterns that are accepted.
|
||||||
The 'ignorecase' option is used to set the ignore-caseness of
|
The 'ignorecase' option is used to set the ignore-caseness of
|
||||||
the pattern. 'smartcase' is NOT used. The matching is always
|
the pattern. 'smartcase' is NOT used. The matching is always
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 7.0aa. Last change: 2006 Feb 21
|
*gui.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -24,9 +24,9 @@ Other GUI documentation:
|
|||||||
1. Starting the GUI *gui-start* *E229* *E233*
|
1. Starting the GUI *gui-start* *E229* *E233*
|
||||||
|
|
||||||
First you must make sure you actually have a version of Vim with the GUI code
|
First you must make sure you actually have a version of Vim with the GUI code
|
||||||
included. You can check this with the ":version" command, it should include
|
included. You can check this with the ":version" command, it says "with xxx
|
||||||
"+GUI_Athena", "+GUI_GTK", "+GUI_KDE", "+GUI_Motif" or "MS-Windows ... bit
|
GUI", where "xxx" is X11-Motif, X11-Athena, Photon, GTK, GTK2, etc., or
|
||||||
GUI version".
|
"MS-Windows 32 bit GUI version".
|
||||||
|
|
||||||
How to start the GUI depends on the system used. Mostly you can run the
|
How to start the GUI depends on the system used. Mostly you can run the
|
||||||
GUI version of Vim with:
|
GUI version of Vim with:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 7.0aa. Last change: 2006 Feb 18
|
*help.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@ -187,9 +187,11 @@ Remarks about specific systems ~
|
|||||||
|os_win32.txt| MS-Windows 95/98/NT
|
|os_win32.txt| MS-Windows 95/98/NT
|
||||||
*standard-plugin-list*
|
*standard-plugin-list*
|
||||||
Standard plugins ~
|
Standard plugins ~
|
||||||
|pi_netrw.txt| Reading and writing files over a network
|
|
||||||
|pi_gzip.txt| Reading and writing compressed files
|
|pi_gzip.txt| Reading and writing compressed files
|
||||||
|pi_expl.txt| File explorer
|
|pi_netrw.txt| Reading and writing files over a network
|
||||||
|
|pi_paren.txt| Highlight matching parens
|
||||||
|
|pi_tar.txt| Tar file explorer
|
||||||
|
|pi_zip.txt| Zip archive explorer
|
||||||
|
|
||||||
LOCAL ADDITIONS: *local-additions*
|
LOCAL ADDITIONS: *local-additions*
|
||||||
|
|
||||||
|
@ -581,7 +581,7 @@ function find_tag2() {
|
|||||||
ntags=split(atag,blata,"[ ]");
|
ntags=split(atag,blata,"[ ]");
|
||||||
if ( ntags > 1 ) { return; }
|
if ( ntags > 1 ) { return; }
|
||||||
if ( ( allow_one_char == "no" ) && \
|
if ( ( allow_one_char == "no" ) && \
|
||||||
( index("!#$%\&'()+,-./0:;=?@ACINX\\[\\]^_`at\\{\\}~",atag) !=0 ) ) {
|
( index("!#$%&'()+,-./0:;=?@ACINX\\[\\]^_`at\\{\\}~",atag) !=0 ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( skip_word[atag] == "yes" ) { return; }
|
if ( skip_word[atag] == "yes" ) { return; }
|
||||||
@ -610,7 +610,7 @@ function find_tag3() {
|
|||||||
ntags=split(btag,blata,"[ ]");
|
ntags=split(btag,blata,"[ ]");
|
||||||
if ( ntags > 1 ) { return; }
|
if ( ntags > 1 ) { return; }
|
||||||
if ( ( allow_one_char == "no" ) && \
|
if ( ( allow_one_char == "no" ) && \
|
||||||
( index("!#$%\&'()+,-./0:;=?@ACINX\\[\\]^_`at\\{\\}~",btag) !=0 ) ) {
|
( index("!#$%&'()+,-./0:;=?@ACINX\\[\\]^_`at\\{\\}~",btag) !=0 ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( skip_word[btag] == "yes" ) { return; }
|
if ( skip_word[btag] == "yes" ) { return; }
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 7.0aa. Last change: 2006 Feb 26
|
*options.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -4639,7 +4639,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{only available when compiled with the |+linebreak|
|
{only available when compiled with the |+linebreak|
|
||||||
feature}
|
feature}
|
||||||
Minimal number of columns to use for the line number. Only relevant
|
Minimal number of columns to use for the line number. Only relevant
|
||||||
when the 'number' option is set or printint lines with a line number.
|
when the 'number' option is set or printing lines with a line number.
|
||||||
Since one space is always between the number and the text, there is
|
Since one space is always between the number and the text, there is
|
||||||
one less character for the number itself.
|
one less character for the number itself.
|
||||||
The value is the minimum width. A bigger width is used when needed to
|
The value is the minimum width. A bigger width is used when needed to
|
||||||
|
42
runtime/doc/pi_paren.txt
Normal file
42
runtime/doc/pi_paren.txt
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
*pi_paren.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|
||||||
|
|
||||||
|
Highlighting matching parens *matchparen*
|
||||||
|
|
||||||
|
The functionality mentioned here is a |standard-plugin|.
|
||||||
|
This plugin is only available if 'compatible' is not set.
|
||||||
|
|
||||||
|
You can avoid loading this plugin by setting the "loaded_matchparen" variable: >
|
||||||
|
:let loaded_matchparen = 1
|
||||||
|
|
||||||
|
The plugin installs CursorMoved autocommands to redefine the match
|
||||||
|
highlighting.
|
||||||
|
|
||||||
|
To disable the plugin after it was loaded use this command: >
|
||||||
|
|
||||||
|
:NoMatchParen
|
||||||
|
|
||||||
|
And to enable it again: >
|
||||||
|
|
||||||
|
:DoMatchParen
|
||||||
|
|
||||||
|
The highlighting used is ParenMatch. You can specify different colors with
|
||||||
|
the ":highlight" command. Example: >
|
||||||
|
|
||||||
|
:hi ParenMatch ctermbg=blue guibg=lightblue
|
||||||
|
|
||||||
|
The characters to be matched come from the 'matchpairs' option. You can
|
||||||
|
change the value to highlight different matches. Note that not everything is
|
||||||
|
possible. For example, you can't highlight single or double quotes, because
|
||||||
|
the start and end are equal.
|
||||||
|
|
||||||
|
The syntax highlighting attributes are used. When the cursor currently is not
|
||||||
|
in a string or comment syntax item, then matches inside string and comment
|
||||||
|
syntax items are ignored. Any syntax items with "string" or "comment"
|
||||||
|
somewhere in their name are considered string or comment items.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
vim:tw=78:ts=8:ft=help:norl:
|
@ -5920,6 +5920,7 @@ match-parens tips.txt /*match-parens*
|
|||||||
matchend() eval.txt /*matchend()*
|
matchend() eval.txt /*matchend()*
|
||||||
matchit-install usr_05.txt /*matchit-install*
|
matchit-install usr_05.txt /*matchit-install*
|
||||||
matchlist() eval.txt /*matchlist()*
|
matchlist() eval.txt /*matchlist()*
|
||||||
|
matchparen pi_paren.txt /*matchparen*
|
||||||
matchstr() eval.txt /*matchstr()*
|
matchstr() eval.txt /*matchstr()*
|
||||||
max() eval.txt /*max()*
|
max() eval.txt /*max()*
|
||||||
mbyte-IME mbyte.txt /*mbyte-IME*
|
mbyte-IME mbyte.txt /*mbyte-IME*
|
||||||
@ -6180,6 +6181,7 @@ new-items-7 version7.txt /*new-items-7*
|
|||||||
new-line-continuation version5.txt /*new-line-continuation*
|
new-line-continuation version5.txt /*new-line-continuation*
|
||||||
new-location-list version7.txt /*new-location-list*
|
new-location-list version7.txt /*new-location-list*
|
||||||
new-manpage-trans version7.txt /*new-manpage-trans*
|
new-manpage-trans version7.txt /*new-manpage-trans*
|
||||||
|
new-matchparen version7.txt /*new-matchparen*
|
||||||
new-multi-byte version5.txt /*new-multi-byte*
|
new-multi-byte version5.txt /*new-multi-byte*
|
||||||
new-multi-lang version6.txt /*new-multi-lang*
|
new-multi-lang version6.txt /*new-multi-lang*
|
||||||
new-netrw-explore version7.txt /*new-netrw-explore*
|
new-netrw-explore version7.txt /*new-netrw-explore*
|
||||||
@ -6318,6 +6320,7 @@ php3.vim syntax.txt /*php3.vim*
|
|||||||
phtml.vim syntax.txt /*phtml.vim*
|
phtml.vim syntax.txt /*phtml.vim*
|
||||||
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
|
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
|
||||||
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
||||||
|
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
||||||
pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
pi_spec.txt pi_spec.txt /*pi_spec.txt*
|
||||||
plugin usr_05.txt /*plugin*
|
plugin usr_05.txt /*plugin*
|
||||||
plugin-details filetype.txt /*plugin-details*
|
plugin-details filetype.txt /*plugin-details*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 26
|
*todo.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -30,11 +30,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Script ID is only remembered for global options. Should remember it for every
|
test 49 fails because of the function line numbering now taking care of
|
||||||
local option separately.
|
continuation lines.
|
||||||
Change PV_XXX values in separate ranges for buffer and window.
|
|
||||||
Move the enums to option.h so that the size is known in structs.h
|
|
||||||
use array for each window and buffer with scriptID values.
|
|
||||||
|
|
||||||
Crash with X command server (Ciaran McCreesh).
|
Crash with X command server (Ciaran McCreesh).
|
||||||
|
|
||||||
@ -43,7 +40,6 @@ maintanance.
|
|||||||
|
|
||||||
"fsutil hardlink" can create a hard link on an NTFS file system. (Daniel
|
"fsutil hardlink" can create a hard link on an NTFS file system. (Daniel
|
||||||
Einspanjer) What library function can detect that?
|
Einspanjer) What library function can detect that?
|
||||||
|
|
||||||
Win32: use GetFileInformationByHandle() to detect hard links on NTFS?
|
Win32: use GetFileInformationByHandle() to detect hard links on NTFS?
|
||||||
(George Reilly)
|
(George Reilly)
|
||||||
|
|
||||||
@ -90,9 +86,6 @@ spelling:
|
|||||||
adding a bad word like "zw" would. Use "zuw" to undo "zw"? (Antonio
|
adding a bad word like "zw" would. Use "zuw" to undo "zw"? (Antonio
|
||||||
Colombo)
|
Colombo)
|
||||||
|
|
||||||
An error in a function uses a line number that doesn't take line continuation
|
|
||||||
into account. (Mikolaj Machowski) Store line count in an extra array?
|
|
||||||
|
|
||||||
Is it possible to keep the command-line window open? Would actually work like
|
Is it possible to keep the command-line window open? Would actually work like
|
||||||
closing it, executing the command and re-opening it (at the same position).
|
closing it, executing the command and re-opening it (at the same position).
|
||||||
|
|
||||||
@ -1603,7 +1596,7 @@ Syntax highlighting:
|
|||||||
"%" match. :syntax nomatch cMatchError (,{,[,),},] [contained]
|
"%" match. :syntax nomatch cMatchError (,{,[,),},] [contained]
|
||||||
8 Highlight the text between two matching parens (e.g., with a grey
|
8 Highlight the text between two matching parens (e.g., with a grey
|
||||||
background) when on one of the parens or in between them.
|
background) when on one of the parens or in between them.
|
||||||
Or highlight the matching paren when the cursor is on one.
|
Option for the matchparen plugin?
|
||||||
8 Add a command to jump to the next character highlighted with "Error".
|
8 Add a command to jump to the next character highlighted with "Error".
|
||||||
8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop
|
8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop
|
||||||
sequences. Add remark in docs that :if 'term' == "term-name" should be
|
sequences. Add remark in docs that :if 'term' == "term-name" should be
|
||||||
@ -1796,17 +1789,16 @@ Built-in script language:
|
|||||||
specified in any way? To be able to jump to the last edited file.
|
specified in any way? To be able to jump to the last edited file.
|
||||||
8 Pass the executable name to the Vim scripts in some way. As v:argv0?
|
8 Pass the executable name to the Vim scripts in some way. As v:argv0?
|
||||||
8 Add command arguments with three dashes, passed on to Vim scripts.
|
8 Add command arguments with three dashes, passed on to Vim scripts.
|
||||||
8 When starting to source a vim script, delete all functions that it has
|
|
||||||
previously defined? Avoids using ":fun!" all the time.
|
|
||||||
7 Add optional arguments to user functions:
|
7 Add optional arguments to user functions:
|
||||||
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
|
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
|
||||||
6 User functions: Functions local to buffer "b:func()"?
|
6 User functions: Functions local to buffer "b:func()"?
|
||||||
8 Add ":let var[{expr}] = {expr}". When past the end of "var" just ignore.
|
8 For Strings add ":let var[{expr}] = {expr}". When past the end of "var"
|
||||||
|
just ignore.
|
||||||
8 The "= register should be writable, if followed by the name of a variable,
|
8 The "= register should be writable, if followed by the name of a variable,
|
||||||
option or environment variable.
|
option or environment variable.
|
||||||
8 ":let &option" should list the value of the option.
|
8 ":let &option" should list the value of the option.
|
||||||
7 Add synIDlist(), making the whole list of syntax items on the
|
7 Add synIDlist(), making the whole list of syntax items on the syntax stack
|
||||||
stack available (separated with '\n').
|
available as a List.
|
||||||
8 Add autocommand-event for when a variable is changed:
|
8 Add autocommand-event for when a variable is changed:
|
||||||
:au VarChanged {varname} {commands}
|
:au VarChanged {varname} {commands}
|
||||||
8 Add "has("gui_capable")", to check if the GUI can be started.
|
8 Add "has("gui_capable")", to check if the GUI can be started.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 26
|
*version7.txt* For Vim version 7.0aa. Last change: 2006 Feb 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -23,6 +23,7 @@ Spell checking |new-spell|
|
|||||||
Omni completion |new-omni-completion|
|
Omni completion |new-omni-completion|
|
||||||
MzScheme interface |new-MzScheme|
|
MzScheme interface |new-MzScheme|
|
||||||
Printing multi-byte text |new-print-multi-byte|
|
Printing multi-byte text |new-print-multi-byte|
|
||||||
|
Highlighting matching parens |new-matchparen|
|
||||||
Translated manual pages |new-manpage-trans|
|
Translated manual pages |new-manpage-trans|
|
||||||
Internal grep |new-vimgrep|
|
Internal grep |new-vimgrep|
|
||||||
Scroll back in messages |new-scroll-back|
|
Scroll back in messages |new-scroll-back|
|
||||||
@ -227,6 +228,16 @@ The 'printmbcharset' and 'printmbfont' options are used for this.
|
|||||||
Also see |postscript-cjk-printing|. (Mike Williams)
|
Also see |postscript-cjk-printing|. (Mike Williams)
|
||||||
|
|
||||||
|
|
||||||
|
Highlighting matching parens *new-matchparen*
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
When moving the cursor through the text and it is on a paren, then the
|
||||||
|
matching paren can be highlighted. This uses the new |CursorMoved|
|
||||||
|
autocommand event.
|
||||||
|
|
||||||
|
See |pi_paren.txt| for more information.
|
||||||
|
|
||||||
|
|
||||||
Translated manual pages *new-manpage-trans*
|
Translated manual pages *new-manpage-trans*
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
@ -1767,4 +1778,17 @@ the end of every line only up to the length of the last line was counted.
|
|||||||
|
|
||||||
"dip" in trailing empty lines left one empty line behind.
|
"dip" in trailing empty lines left one empty line behind.
|
||||||
|
|
||||||
|
The script ID was only remembered globally for each option. When a buffer- or
|
||||||
|
window-local option was set the same "last set" location was changed for all
|
||||||
|
buffers and windows. Now remember the script ID for each local option
|
||||||
|
separately.
|
||||||
|
|
||||||
|
GUI: The "Replace All" button didn't handle backslashes in the replacement in
|
||||||
|
the same way as "Replace". Escape backslashes so that they are taken
|
||||||
|
literally.
|
||||||
|
|
||||||
|
An error in a function reported a line number that doesn't take line
|
||||||
|
continuation into account. Now store a NULL for continuation lines, so that
|
||||||
|
the index is equal to the line number in the sourced file.
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Feb 25
|
" Last Change: 2006 Feb 27
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@ -1658,19 +1658,29 @@ au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
|
|||||||
au BufNewFile,BufRead *.tex call s:FTtex()
|
au BufNewFile,BufRead *.tex call s:FTtex()
|
||||||
|
|
||||||
fun! s:FTtex()
|
fun! s:FTtex()
|
||||||
let n = 1
|
let lnum = 1
|
||||||
while n < 10 && n < line("$")
|
let checked = 0
|
||||||
let line = getline(n)
|
while checked < 25 && lnum < line("$")
|
||||||
if line =~ '^\s*\\\%(documentclass\>\|usepackage\>\|begin{\)'
|
let line = getline(lnum)
|
||||||
setf tex
|
if line !~ '^\s*%'
|
||||||
return
|
if line =~ '^\s*\\\%(documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>\)'
|
||||||
elseif line =~ '^\s*\\\%(start\l\+\|setup\l\+\|usemodule\|enablemode\>\|enableregime\>\|setvariables\>\|useencoding\>\|usesymbols\>\|stel\l\+\|verwende\l\+\|stel\l\+\|gebruik\l\+\|usa\l\+\|imposta\l\+\|regle\l\+\|utilisemodule\>\)\>'
|
setf tex
|
||||||
setf context
|
return
|
||||||
return
|
elseif line =~ '^\s*\\\%(start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\)\>'
|
||||||
|
setf context
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let checked = checked + 1
|
||||||
endif
|
endif
|
||||||
let n = n + 1
|
let lnum = lnum + 1
|
||||||
endwhile
|
endwhile
|
||||||
setf tex
|
|
||||||
|
" Didn't recognize anything, guess.
|
||||||
|
if exists("g:tex_flavour") && g:tex_flavour == "context"
|
||||||
|
setf context
|
||||||
|
else
|
||||||
|
setf tex
|
||||||
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" Context
|
" Context
|
||||||
|
106
runtime/plugin/matchparen.vim
Normal file
106
runtime/plugin/matchparen.vim
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
" Vim plugin for showing matching parens
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last Change: 2006 Feb 27
|
||||||
|
|
||||||
|
" Exit quickly when:
|
||||||
|
" - this plugin was already loaded (or disabled)
|
||||||
|
" - when 'compatible' is set
|
||||||
|
" - the "CursorMoved" autocmd event is not availble.
|
||||||
|
if exists("g:loaded_matchparen") || &cp || !exists("##CursorMoved")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_matchparen = 1
|
||||||
|
|
||||||
|
augroup matchparen
|
||||||
|
" Replace all matchparen autocommands
|
||||||
|
autocmd! CursorMoved,CursorMovedI * call s:Highlight_Matching_Pair()
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
let s:paren_hl_on = 0
|
||||||
|
|
||||||
|
" Skip the rest if it was already done.
|
||||||
|
if exists("*s:Highlight_Matching_Pair")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The function that is invoked (very often) to define a ":match" highlighting
|
||||||
|
" for any matching paren.
|
||||||
|
function! s:Highlight_Matching_Pair()
|
||||||
|
" Remove any previous match.
|
||||||
|
if s:paren_hl_on
|
||||||
|
match none
|
||||||
|
let s:paren_hl_on = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Get the character under the cursor and check if it's in 'matchpairs'.
|
||||||
|
let c_lnum = line('.')
|
||||||
|
let c_col = col('.')
|
||||||
|
let before = 0
|
||||||
|
|
||||||
|
let c = getline(c_lnum)[c_col - 1]
|
||||||
|
let plist = split(&matchpairs, ':\|,')
|
||||||
|
let i = index(plist, c)
|
||||||
|
if i < 0
|
||||||
|
" not found, in Insert mode try character before the cursor
|
||||||
|
if c_col > 1 && (mode() == 'i' || mode() == 'R')
|
||||||
|
let before = 1
|
||||||
|
let c = getline(c_lnum)[c_col - 2]
|
||||||
|
let i = index(plist, c)
|
||||||
|
endif
|
||||||
|
if i < 0
|
||||||
|
" not found, nothing to do
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Figure out the arguments for searchpairpos().
|
||||||
|
" Restrict the search to visible lines with "stopline".
|
||||||
|
if i % 2 == 0
|
||||||
|
let s_flags = 'nW'
|
||||||
|
let c2 = plist[i + 1]
|
||||||
|
let stopline = line('w$')
|
||||||
|
else
|
||||||
|
let s_flags = 'nbW'
|
||||||
|
let c2 = c
|
||||||
|
let c = plist[i - 1]
|
||||||
|
let stopline = line('w0')
|
||||||
|
endif
|
||||||
|
if c == '['
|
||||||
|
let c = '\['
|
||||||
|
let c2 = '\]'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" When not in a string or comment ignore matches inside them.
|
||||||
|
let s_skip ='synIDattr(synID(c_lnum, c_col - before, 0), "name") ' .
|
||||||
|
\ '=~? "string\\|comment"'
|
||||||
|
execute 'if' s_skip '| let s_skip = 0 | endif'
|
||||||
|
|
||||||
|
" Find the match. When it was just before the cursor move it there for a
|
||||||
|
" moment. To restore the cursor position use "N|" and when 'virtualedit'
|
||||||
|
" is set, cursor() otherwise.
|
||||||
|
if before > 0
|
||||||
|
if &ve != ''
|
||||||
|
let vcol = virtcol('.')
|
||||||
|
endif
|
||||||
|
call cursor(c_lnum, c_col - before)
|
||||||
|
endif
|
||||||
|
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
|
||||||
|
if before > 0
|
||||||
|
if &ve != ''
|
||||||
|
exe 'normal ' . vcol . '|'
|
||||||
|
else
|
||||||
|
call cursor(0, c_col)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If a match is found setup match highlighting.
|
||||||
|
if m_lnum > 0 && m_lnum >= line('w0') && m_lnum <= line('w$')
|
||||||
|
exe 'match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||||
|
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||||
|
let s:paren_hl_on = 1
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Define commands that will disable and enable the plugin.
|
||||||
|
command! NoMatchParen match none | unlet! g:loaded_matchparen | au! matchparen
|
||||||
|
command! DoMatchParen runtime plugin/matchparen.vim | doau CursorMoved
|
10
src/diff.c
10
src/diff.c
@ -1083,10 +1083,7 @@ diff_win_options(wp, addbuf)
|
|||||||
curwin = wp;
|
curwin = wp;
|
||||||
curbuf = curwin->w_buffer;
|
curbuf = curwin->w_buffer;
|
||||||
set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
|
set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
|
||||||
OPT_LOCAL|OPT_FREE);
|
OPT_LOCAL|OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"fdm", current_SID);
|
|
||||||
# endif
|
|
||||||
curwin = old_curwin;
|
curwin = old_curwin;
|
||||||
curbuf = curwin->w_buffer;
|
curbuf = curwin->w_buffer;
|
||||||
wp->w_p_fdc = 2;
|
wp->w_p_fdc = 2;
|
||||||
@ -1133,10 +1130,7 @@ ex_diffoff(eap)
|
|||||||
curwin = wp;
|
curwin = wp;
|
||||||
curbuf = curwin->w_buffer;
|
curbuf = curwin->w_buffer;
|
||||||
set_string_option_direct((char_u *)"fdm", -1,
|
set_string_option_direct((char_u *)"fdm", -1,
|
||||||
(char_u *)"manual", OPT_LOCAL|OPT_FREE);
|
(char_u *)"manual", OPT_LOCAL|OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"fdm", current_SID);
|
|
||||||
# endif
|
|
||||||
curwin = old_curwin;
|
curwin = old_curwin;
|
||||||
curbuf = curwin->w_buffer;
|
curbuf = curwin->w_buffer;
|
||||||
wp->w_p_fdc = 0;
|
wp->w_p_fdc = 0;
|
||||||
|
41
src/edit.c
41
src/edit.c
@ -136,6 +136,7 @@ static void ins_compl_free __ARGS((void));
|
|||||||
static void ins_compl_clear __ARGS((void));
|
static void ins_compl_clear __ARGS((void));
|
||||||
static int ins_compl_bs __ARGS((void));
|
static int ins_compl_bs __ARGS((void));
|
||||||
static void ins_compl_addleader __ARGS((int c));
|
static void ins_compl_addleader __ARGS((int c));
|
||||||
|
static void ins_compl_set_original_text __ARGS((char_u *str));
|
||||||
static void ins_compl_addfrommatch __ARGS((void));
|
static void ins_compl_addfrommatch __ARGS((void));
|
||||||
static int ins_compl_prep __ARGS((int c));
|
static int ins_compl_prep __ARGS((int c));
|
||||||
static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
|
static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
|
||||||
@ -1387,7 +1388,7 @@ ins_redraw(ready)
|
|||||||
if (!char_avail())
|
if (!char_avail())
|
||||||
{
|
{
|
||||||
#ifdef FEAT_AUTOCMD
|
#ifdef FEAT_AUTOCMD
|
||||||
/* Trigger CursorMoved if the cursor moved. */
|
/* Trigger CursorMoved if the cursor moved. */
|
||||||
if (ready && has_cursormovedI()
|
if (ready && has_cursormovedI()
|
||||||
&& !equalpos(last_cursormoved, curwin->w_cursor))
|
&& !equalpos(last_cursormoved, curwin->w_cursor))
|
||||||
{
|
{
|
||||||
@ -2109,11 +2110,8 @@ ins_compl_add(str, len, icase, fname, extra, cdir, flags)
|
|||||||
return FAIL;
|
return FAIL;
|
||||||
match->cp_number = -1;
|
match->cp_number = -1;
|
||||||
if (flags & ORIGINAL_TEXT)
|
if (flags & ORIGINAL_TEXT)
|
||||||
{
|
|
||||||
match->cp_number = 0;
|
match->cp_number = 0;
|
||||||
match->cp_str = compl_orig_text;
|
if ((match->cp_str = vim_strnsave(str, len)) == NULL)
|
||||||
}
|
|
||||||
else if ((match->cp_str = vim_strnsave(str, len)) == NULL)
|
|
||||||
{
|
{
|
||||||
vim_free(match);
|
vim_free(match);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
@ -2818,7 +2816,9 @@ ins_compl_bs()
|
|||||||
ins_compl_delete();
|
ins_compl_delete();
|
||||||
ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
|
ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
|
||||||
|
|
||||||
if (!compl_started)
|
if (compl_started)
|
||||||
|
ins_compl_set_original_text(compl_leader);
|
||||||
|
else
|
||||||
{
|
{
|
||||||
/* Matches were cleared, need to search for them now. */
|
/* Matches were cleared, need to search for them now. */
|
||||||
if (ins_complete(Ctrl_N) == FAIL)
|
if (ins_complete(Ctrl_N) == FAIL)
|
||||||
@ -2872,6 +2872,28 @@ ins_compl_addleader(c)
|
|||||||
ins_compl_del_pum();
|
ins_compl_del_pum();
|
||||||
ins_compl_show_pum();
|
ins_compl_show_pum();
|
||||||
compl_used_match = FALSE;
|
compl_used_match = FALSE;
|
||||||
|
ins_compl_set_original_text(compl_leader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set the first match, the original text.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
ins_compl_set_original_text(str)
|
||||||
|
char_u *str;
|
||||||
|
{
|
||||||
|
char_u *p;
|
||||||
|
|
||||||
|
/* Replace the original text entry. */
|
||||||
|
if (compl_first_match->cp_flags & ORIGINAL_TEXT) /* safety check */
|
||||||
|
{
|
||||||
|
p = vim_strsave(str);
|
||||||
|
if (p != NULL)
|
||||||
|
{
|
||||||
|
vim_free(compl_first_match->cp_str);
|
||||||
|
compl_first_match->cp_str = p;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4328,9 +4350,8 @@ ins_complete(c)
|
|||||||
else
|
else
|
||||||
edit_submode = (char_u *)_(CTRL_X_MSG(ctrl_x_mode));
|
edit_submode = (char_u *)_(CTRL_X_MSG(ctrl_x_mode));
|
||||||
|
|
||||||
/* Always add completion for the original text. Note that
|
/* Always add completion for the original text. */
|
||||||
* "compl_orig_text" itself (not a copy) is added, it will be freed
|
vim_free(compl_orig_text);
|
||||||
* when the list of matches is freed. */
|
|
||||||
compl_orig_text = vim_strnsave(line + compl_col, compl_length);
|
compl_orig_text = vim_strnsave(line + compl_col, compl_length);
|
||||||
if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
|
if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
|
||||||
-1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT) != OK)
|
-1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT) != OK)
|
||||||
@ -5779,6 +5800,8 @@ free_last_insert()
|
|||||||
{
|
{
|
||||||
vim_free(last_insert);
|
vim_free(last_insert);
|
||||||
last_insert = NULL;
|
last_insert = NULL;
|
||||||
|
vim_free(compl_orig_text);
|
||||||
|
compl_orig_text = NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
58
src/eval.c
58
src/eval.c
@ -11731,6 +11731,7 @@ find_some_match(argvars, rettv, type)
|
|||||||
char_u *save_cpo;
|
char_u *save_cpo;
|
||||||
long start = 0;
|
long start = 0;
|
||||||
long nth = 1;
|
long nth = 1;
|
||||||
|
colnr_T startcol = 0;
|
||||||
int match = 0;
|
int match = 0;
|
||||||
list_T *l = NULL;
|
list_T *l = NULL;
|
||||||
listitem_T *li = NULL;
|
listitem_T *li = NULL;
|
||||||
@ -11811,12 +11812,12 @@ find_some_match(argvars, rettv, type)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
vim_free(tofree);
|
vim_free(tofree);
|
||||||
str = echo_string(&li->li_tv, &tofree, strbuf,0);
|
str = echo_string(&li->li_tv, &tofree, strbuf, 0);
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
match = vim_regexec_nl(®match, str, (colnr_T)0);
|
match = vim_regexec_nl(®match, str, (colnr_T)startcol);
|
||||||
|
|
||||||
if (match && --nth <= 0)
|
if (match && --nth <= 0)
|
||||||
break;
|
break;
|
||||||
@ -11832,9 +11833,10 @@ find_some_match(argvars, rettv, type)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
str = regmatch.startp[0] + (*mb_ptr2len)(regmatch.startp[0]);
|
startcol = regmatch.startp[0]
|
||||||
|
+ (*mb_ptr2len)(regmatch.startp[0]) - str;
|
||||||
#else
|
#else
|
||||||
str = regmatch.startp[0] + 1;
|
startcol = regmatch.startp[0] + 1 - str;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -17400,6 +17402,7 @@ ex_function(eap)
|
|||||||
hashtab_T *ht;
|
hashtab_T *ht;
|
||||||
int todo;
|
int todo;
|
||||||
hashitem_T *hi;
|
hashitem_T *hi;
|
||||||
|
int sourcing_lnum_off;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ":function" without argument: list functions.
|
* ":function" without argument: list functions.
|
||||||
@ -17522,6 +17525,8 @@ ex_function(eap)
|
|||||||
list_func_head(fp, TRUE);
|
list_func_head(fp, TRUE);
|
||||||
for (j = 0; j < fp->uf_lines.ga_len && !got_int; ++j)
|
for (j = 0; j < fp->uf_lines.ga_len && !got_int; ++j)
|
||||||
{
|
{
|
||||||
|
if (FUNCLINE(fp, j) == NULL)
|
||||||
|
continue;
|
||||||
msg_putchar('\n');
|
msg_putchar('\n');
|
||||||
msg_outnum((long)(j + 1));
|
msg_outnum((long)(j + 1));
|
||||||
if (j < 9)
|
if (j < 9)
|
||||||
@ -17693,6 +17698,8 @@ ex_function(eap)
|
|||||||
{
|
{
|
||||||
msg_scroll = TRUE;
|
msg_scroll = TRUE;
|
||||||
need_wait_return = FALSE;
|
need_wait_return = FALSE;
|
||||||
|
sourcing_lnum_off = sourcing_lnum;
|
||||||
|
|
||||||
if (line_arg != NULL)
|
if (line_arg != NULL)
|
||||||
{
|
{
|
||||||
/* Use eap->arg, split up in parts by line breaks. */
|
/* Use eap->arg, split up in parts by line breaks. */
|
||||||
@ -17718,6 +17725,12 @@ ex_function(eap)
|
|||||||
goto erret;
|
goto erret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Detect line continuation: sourcing_lnum increased more than one. */
|
||||||
|
if (sourcing_lnum > sourcing_lnum_off + 1)
|
||||||
|
sourcing_lnum_off = sourcing_lnum - sourcing_lnum_off - 1;
|
||||||
|
else
|
||||||
|
sourcing_lnum_off = 0;
|
||||||
|
|
||||||
if (skip_until != NULL)
|
if (skip_until != NULL)
|
||||||
{
|
{
|
||||||
/* between ":append" and "." and between ":python <<EOF" and "EOF"
|
/* between ":append" and "." and between ":python <<EOF" and "EOF"
|
||||||
@ -17802,7 +17815,7 @@ ex_function(eap)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Add the line to the function. */
|
/* Add the line to the function. */
|
||||||
if (ga_grow(&newlines, 1) == FAIL)
|
if (ga_grow(&newlines, 1 + sourcing_lnum_off) == FAIL)
|
||||||
{
|
{
|
||||||
if (line_arg == NULL)
|
if (line_arg == NULL)
|
||||||
vim_free(theline);
|
vim_free(theline);
|
||||||
@ -17820,8 +17833,12 @@ ex_function(eap)
|
|||||||
theline = p;
|
theline = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
((char_u **)(newlines.ga_data))[newlines.ga_len] = theline;
|
((char_u **)(newlines.ga_data))[newlines.ga_len++] = theline;
|
||||||
newlines.ga_len++;
|
|
||||||
|
/* Add NULL lines for continuation lines, so that the line count is
|
||||||
|
* equal to the index in the growarray. */
|
||||||
|
while (sourcing_lnum_off-- > 0)
|
||||||
|
((char_u **)(newlines.ga_data))[newlines.ga_len++] = NULL;
|
||||||
|
|
||||||
/* Check for end of eap->arg. */
|
/* Check for end of eap->arg. */
|
||||||
if (line_arg != NULL && *line_arg == NUL)
|
if (line_arg != NULL && *line_arg == NUL)
|
||||||
@ -18362,6 +18379,8 @@ func_dump_profile(fd)
|
|||||||
|
|
||||||
for (i = 0; i < fp->uf_lines.ga_len; ++i)
|
for (i = 0; i < fp->uf_lines.ga_len; ++i)
|
||||||
{
|
{
|
||||||
|
if (FUNCLINE(fp, i) == NULL)
|
||||||
|
continue;
|
||||||
prof_func_line(fd, fp->uf_tml_count[i],
|
prof_func_line(fd, fp->uf_tml_count[i],
|
||||||
&fp->uf_tml_total[i], &fp->uf_tml_self[i], TRUE);
|
&fp->uf_tml_total[i], &fp->uf_tml_self[i], TRUE);
|
||||||
fprintf(fd, "%s\n", FUNCLINE(fp, i));
|
fprintf(fd, "%s\n", FUNCLINE(fp, i));
|
||||||
@ -19270,18 +19289,26 @@ get_func_line(c, cookie, indent)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
gap = &fp->uf_lines;
|
gap = &fp->uf_lines;
|
||||||
if ((fp->uf_flags & FC_ABORT) && did_emsg && !aborted_in_try())
|
if (((fp->uf_flags & FC_ABORT) && did_emsg && !aborted_in_try())
|
||||||
retval = NULL;
|
|| fcp->returned)
|
||||||
else if (fcp->returned || fcp->linenr >= gap->ga_len)
|
|
||||||
retval = NULL;
|
retval = NULL;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
retval = vim_strsave(((char_u **)(gap->ga_data))[fcp->linenr++]);
|
/* Skip NULL lines (continuation lines). */
|
||||||
sourcing_lnum = fcp->linenr;
|
while (fcp->linenr < gap->ga_len
|
||||||
|
&& ((char_u **)(gap->ga_data))[fcp->linenr] == NULL)
|
||||||
|
++fcp->linenr;
|
||||||
|
if (fcp->linenr >= gap->ga_len)
|
||||||
|
retval = NULL;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
retval = vim_strsave(((char_u **)(gap->ga_data))[fcp->linenr++]);
|
||||||
|
sourcing_lnum = fcp->linenr;
|
||||||
#ifdef FEAT_PROFILE
|
#ifdef FEAT_PROFILE
|
||||||
if (do_profiling)
|
if (do_profiling)
|
||||||
func_line_start(cookie);
|
func_line_start(cookie);
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Did we encounter a breakpoint? */
|
/* Did we encounter a breakpoint? */
|
||||||
@ -19315,6 +19342,9 @@ func_line_start(cookie)
|
|||||||
&& sourcing_lnum <= fp->uf_lines.ga_len)
|
&& sourcing_lnum <= fp->uf_lines.ga_len)
|
||||||
{
|
{
|
||||||
fp->uf_tml_idx = sourcing_lnum - 1;
|
fp->uf_tml_idx = sourcing_lnum - 1;
|
||||||
|
/* Skip continuation lines. */
|
||||||
|
while (fp->uf_tml_idx > 0 && FUNCLINE(fp, fp->uf_tml_idx) == NULL)
|
||||||
|
--fp->uf_tml_idx;
|
||||||
fp->uf_tml_execed = FALSE;
|
fp->uf_tml_execed = FALSE;
|
||||||
profile_start(&fp->uf_tml_start);
|
profile_start(&fp->uf_tml_start);
|
||||||
profile_zero(&fp->uf_tml_children);
|
profile_zero(&fp->uf_tml_children);
|
||||||
|
@ -3265,10 +3265,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
|
|||||||
curbuf->b_help = TRUE;
|
curbuf->b_help = TRUE;
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
set_string_option_direct((char_u *)"buftype", -1,
|
set_string_option_direct((char_u *)"buftype", -1,
|
||||||
(char_u *)"help", OPT_FREE|OPT_LOCAL);
|
(char_u *)"help", OPT_FREE|OPT_LOCAL, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"buftype", current_SID);
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -3287,10 +3284,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags)
|
|||||||
if (STRCMP(curbuf->b_p_isk, p) != 0)
|
if (STRCMP(curbuf->b_p_isk, p) != 0)
|
||||||
{
|
{
|
||||||
set_string_option_direct((char_u *)"isk", -1, p,
|
set_string_option_direct((char_u *)"isk", -1, p,
|
||||||
OPT_FREE|OPT_LOCAL);
|
OPT_FREE|OPT_LOCAL, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"isk", current_SID);
|
|
||||||
# endif
|
|
||||||
check_buf_options(curbuf);
|
check_buf_options(curbuf);
|
||||||
(void)buf_init_chartab(curbuf, FALSE);
|
(void)buf_init_chartab(curbuf, FALSE);
|
||||||
}
|
}
|
||||||
|
@ -1825,7 +1825,7 @@ do_one_cmd(cmdlinep, sourcing,
|
|||||||
* existing option value, we restore it later. */
|
* existing option value, we restore it later. */
|
||||||
cmdmod.save_ei = vim_strsave(p_ei);
|
cmdmod.save_ei = vim_strsave(p_ei);
|
||||||
set_string_option_direct((char_u *)"ei", -1,
|
set_string_option_direct((char_u *)"ei", -1,
|
||||||
(char_u *)"all", OPT_FREE);
|
(char_u *)"all", OPT_FREE, SID_NONE);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
continue;
|
continue;
|
||||||
@ -2649,7 +2649,8 @@ doend:
|
|||||||
if (cmdmod.save_ei != NULL)
|
if (cmdmod.save_ei != NULL)
|
||||||
{
|
{
|
||||||
/* Restore 'eventignore' to the value before ":noautocmd". */
|
/* Restore 'eventignore' to the value before ":noautocmd". */
|
||||||
set_string_option_direct((char_u *)"ei", -1, cmdmod.save_ei, OPT_FREE);
|
set_string_option_direct((char_u *)"ei", -1, cmdmod.save_ei,
|
||||||
|
OPT_FREE, SID_NONE);
|
||||||
free_string_option(cmdmod.save_ei);
|
free_string_option(cmdmod.save_ei);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
20
src/fileio.c
20
src/fileio.c
@ -583,13 +583,8 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
|||||||
/* set forced 'fileencoding' */
|
/* set forced 'fileencoding' */
|
||||||
fenc = enc_canonize(eap->cmd + eap->force_enc);
|
fenc = enc_canonize(eap->cmd + eap->force_enc);
|
||||||
if (fenc != NULL)
|
if (fenc != NULL)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"fenc", -1,
|
set_string_option_direct((char_u *)"fenc", -1,
|
||||||
fenc, OPT_FREE|OPT_LOCAL);
|
fenc, OPT_FREE|OPT_LOCAL, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"fenc", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
vim_free(fenc);
|
vim_free(fenc);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -2113,13 +2108,8 @@ failed:
|
|||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
/* If editing a new file: set 'fenc' for the current buffer. */
|
/* If editing a new file: set 'fenc' for the current buffer. */
|
||||||
if (newfile)
|
if (newfile)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"fenc", -1, fenc,
|
set_string_option_direct((char_u *)"fenc", -1, fenc,
|
||||||
OPT_FREE|OPT_LOCAL);
|
OPT_FREE|OPT_LOCAL, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"fenc", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
if (fenc_alloced)
|
if (fenc_alloced)
|
||||||
vim_free(fenc);
|
vim_free(fenc);
|
||||||
# ifdef USE_ICONV
|
# ifdef USE_ICONV
|
||||||
@ -7503,7 +7493,8 @@ au_event_disable(what)
|
|||||||
if (new_ei != NULL)
|
if (new_ei != NULL)
|
||||||
{
|
{
|
||||||
STRCAT(new_ei, what);
|
STRCAT(new_ei, what);
|
||||||
set_string_option_direct((char_u *)"ei", -1, new_ei, OPT_FREE);
|
set_string_option_direct((char_u *)"ei", -1, new_ei,
|
||||||
|
OPT_FREE, SID_NONE);
|
||||||
vim_free(new_ei);
|
vim_free(new_ei);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7516,7 +7507,8 @@ au_event_restore(old_ei)
|
|||||||
{
|
{
|
||||||
if (old_ei != NULL)
|
if (old_ei != NULL)
|
||||||
{
|
{
|
||||||
set_string_option_direct((char_u *)"ei", -1, old_ei, OPT_FREE);
|
set_string_option_direct((char_u *)"ei", -1, old_ei,
|
||||||
|
OPT_FREE, SID_NONE);
|
||||||
vim_free(old_ei);
|
vim_free(old_ei);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1472,10 +1472,7 @@ EXTERN char_u e_invexprmsg[] INIT(= N_("E449: Invalid expression received"));
|
|||||||
EXTERN char_u e_guarded[] INIT(= N_("E463: Region is guarded, cannot modify"));
|
EXTERN char_u e_guarded[] INIT(= N_("E463: Region is guarded, cannot modify"));
|
||||||
EXTERN char_u e_nbreadonly[] INIT(= N_("E744: NetBeans does not allow changes in read-only files"));
|
EXTERN char_u e_nbreadonly[] INIT(= N_("E744: NetBeans does not allow changes in read-only files"));
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEAT_INS_EXPAND) || defined(FEAT_EVAL) || defined(FEAT_SYN_HL) \
|
|
||||||
|| defined(FEAT_WINDOWS)
|
|
||||||
EXTERN char_u e_intern2[] INIT(= N_("E685: Internal error: %s"));
|
EXTERN char_u e_intern2[] INIT(= N_("E685: Internal error: %s"));
|
||||||
#endif
|
|
||||||
EXTERN char_u e_maxmempat[] INIT(= N_("E363: pattern uses more memory than 'maxmempattern'"));
|
EXTERN char_u e_maxmempat[] INIT(= N_("E363: pattern uses more memory than 'maxmempattern'"));
|
||||||
EXTERN char_u e_emptybuf[] INIT(= N_("E749: empty buffer"));
|
EXTERN char_u e_emptybuf[] INIT(= N_("E749: empty buffer"));
|
||||||
|
|
||||||
|
20
src/gui.c
20
src/gui.c
@ -346,7 +346,7 @@ gui_init()
|
|||||||
*/
|
*/
|
||||||
if (!option_was_set((char_u *)"mouse"))
|
if (!option_was_set((char_u *)"mouse"))
|
||||||
set_string_option_direct((char_u *)"mouse", -1,
|
set_string_option_direct((char_u *)"mouse", -1,
|
||||||
(char_u *)"a", OPT_FREE);
|
(char_u *)"a", OPT_FREE, SID_NONE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If -U option given, use only the initializations from that file and
|
* If -U option given, use only the initializations from that file and
|
||||||
@ -788,10 +788,7 @@ set_guifontwide(name)
|
|||||||
gui_mch_free_font(gui.wide_font);
|
gui_mch_free_font(gui.wide_font);
|
||||||
gui.wide_font = font;
|
gui.wide_font = font;
|
||||||
set_string_option_direct((char_u *)"gfw", -1,
|
set_string_option_direct((char_u *)"gfw", -1,
|
||||||
wide_name, OPT_FREE);
|
wide_name, OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"gfw", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3387,13 +3384,8 @@ get_tabline_label(tp)
|
|||||||
STRCPY(NameBuff, res);
|
STRCPY(NameBuff, res);
|
||||||
|
|
||||||
if (called_emsg)
|
if (called_emsg)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"guitablabel", -1,
|
set_string_option_direct((char_u *)"guitablabel", -1,
|
||||||
(char_u *)"", OPT_FREE);
|
(char_u *)"", OPT_FREE, SID_ERROR);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"guitablabel", SID_ERROR);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
called_emsg |= save_called_emsg;
|
called_emsg |= save_called_emsg;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -4809,7 +4801,11 @@ gui_do_findrepl(flags, find_text, repl_text, down)
|
|||||||
if (type == FRD_REPLACEALL)
|
if (type == FRD_REPLACEALL)
|
||||||
{
|
{
|
||||||
ga_concat(&ga, (char_u *)"/");
|
ga_concat(&ga, (char_u *)"/");
|
||||||
concat_esc(&ga, repl_text, '/'); /* escape slashes */
|
/* escape / and \ */
|
||||||
|
p = vim_strsave_escaped(repl_text, (char_u *)"/\\");
|
||||||
|
if (p != NULL)
|
||||||
|
ga_concat(&ga, p);
|
||||||
|
vim_free(p);
|
||||||
ga_concat(&ga, (char_u *)"/g");
|
ga_concat(&ga, (char_u *)"/g");
|
||||||
}
|
}
|
||||||
ga_append(&ga, NUL);
|
ga_append(&ga, NUL);
|
||||||
|
@ -635,13 +635,8 @@ main
|
|||||||
if (params.edit_type == EDIT_QF)
|
if (params.edit_type == EDIT_QF)
|
||||||
{
|
{
|
||||||
if (params.use_ef != NULL)
|
if (params.use_ef != NULL)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"ef", -1,
|
set_string_option_direct((char_u *)"ef", -1,
|
||||||
params.use_ef, OPT_FREE);
|
params.use_ef, OPT_FREE, SID_CARG);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"ef", SID_CARG);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
if (qf_init(NULL, p_ef, p_efm, TRUE) < 0)
|
if (qf_init(NULL, p_ef, p_efm, TRUE) < 0)
|
||||||
{
|
{
|
||||||
out_char('\n');
|
out_char('\n');
|
||||||
@ -1010,7 +1005,6 @@ main_loop(cmdwin, noexmode)
|
|||||||
/* Trigger CursorMoved if the cursor moved. */
|
/* Trigger CursorMoved if the cursor moved. */
|
||||||
if (!finish_op && has_cursormoved()
|
if (!finish_op && has_cursormoved()
|
||||||
&& !equalpos(last_cursormoved, curwin->w_cursor))
|
&& !equalpos(last_cursormoved, curwin->w_cursor))
|
||||||
|
|
||||||
{
|
{
|
||||||
apply_autocmds(EVENT_CURSORMOVED, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_CURSORMOVED, NULL, NULL, FALSE, curbuf);
|
||||||
last_cursormoved = curwin->w_cursor;
|
last_cursormoved = curwin->w_cursor;
|
||||||
|
@ -731,13 +731,9 @@ codepage_invalid:
|
|||||||
|
|
||||||
/* When using Unicode, set default for 'fileencodings'. */
|
/* When using Unicode, set default for 'fileencodings'. */
|
||||||
if (enc_utf8 && !option_was_set((char_u *)"fencs"))
|
if (enc_utf8 && !option_was_set((char_u *)"fencs"))
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"fencs", -1,
|
set_string_option_direct((char_u *)"fencs", -1,
|
||||||
(char_u *)"ucs-bom,utf-8,default,latin1", OPT_FREE);
|
(char_u *)"ucs-bom,utf-8,default,latin1", OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"fencs", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
#if defined(HAVE_BIND_TEXTDOMAIN_CODESET) && defined(FEAT_GETTEXT)
|
#if defined(HAVE_BIND_TEXTDOMAIN_CODESET) && defined(FEAT_GETTEXT)
|
||||||
/* GNU gettext 0.10.37 supports this feature: set the codeset used for
|
/* GNU gettext 0.10.37 supports this feature: set the codeset used for
|
||||||
* translated messages independently from the current locale. */
|
* translated messages independently from the current locale. */
|
||||||
|
@ -2833,6 +2833,12 @@ changed_common(lnum, col, lnume, xtra)
|
|||||||
* since it notices b_mod_set and then uses b_mod_*. */
|
* since it notices b_mod_set and then uses b_mod_*. */
|
||||||
if (must_redraw < VALID)
|
if (must_redraw < VALID)
|
||||||
must_redraw = VALID;
|
must_redraw = VALID;
|
||||||
|
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
/* when the cursor line is changed always trigger CursorMoved */
|
||||||
|
if (lnum <= curwin->w_cursor.lnum && lnume > curwin->w_cursor.lnum)
|
||||||
|
last_cursormoved.lnum = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2793,13 +2793,9 @@ set_fileformat(t, opt_flags)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (p != NULL)
|
if (p != NULL)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"ff", -1, (char_u *)p,
|
set_string_option_direct((char_u *)"ff", -1, (char_u *)p,
|
||||||
OPT_FREE | opt_flags);
|
OPT_FREE | opt_flags, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"ff", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
#ifdef FEAT_WINDOWS
|
#ifdef FEAT_WINDOWS
|
||||||
/* This may cause the buffer to become (un)modified. */
|
/* This may cause the buffer to become (un)modified. */
|
||||||
check_status(curbuf);
|
check_status(curbuf);
|
||||||
|
481
src/option.c
481
src/option.c
@ -45,142 +45,193 @@
|
|||||||
#define PV_BOTH 0x1000
|
#define PV_BOTH 0x1000
|
||||||
#define PV_WIN 0x2000
|
#define PV_WIN 0x2000
|
||||||
#define PV_BUF 0x4000
|
#define PV_BUF 0x4000
|
||||||
|
#define PV_MASK 0x0fff
|
||||||
#define OPT_WIN(x) (idopt_T)(PV_WIN + (int)(x))
|
#define OPT_WIN(x) (idopt_T)(PV_WIN + (int)(x))
|
||||||
#define OPT_BUF(x) (idopt_T)(PV_BUF + (int)(x))
|
#define OPT_BUF(x) (idopt_T)(PV_BUF + (int)(x))
|
||||||
#define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x))
|
#define OPT_BOTH(x) (idopt_T)(PV_BOTH + (int)(x))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "indir" values for buffer-local opions
|
* Definition of the PV_ values for buffer-local options.
|
||||||
|
* The BV_ values are defined in option.h.
|
||||||
*/
|
*/
|
||||||
enum
|
|
||||||
{
|
|
||||||
BV_AI = 0
|
|
||||||
, BV_AR
|
|
||||||
#if defined(FEAT_QUICKFIX)
|
|
||||||
, BV_BH
|
|
||||||
#endif
|
|
||||||
, BV_BIN
|
|
||||||
, BV_BL
|
|
||||||
, BV_COUNT /* must be the last one */
|
|
||||||
};
|
|
||||||
|
|
||||||
#define PV_AI OPT_BUF(BV_AI)
|
#define PV_AI OPT_BUF(BV_AI)
|
||||||
#define PV_AR OPT_BOTH(OPT_BUF(BV_AR))
|
#define PV_AR OPT_BOTH(OPT_BUF(BV_AR))
|
||||||
#if defined(FEAT_QUICKFIX)
|
#ifdef FEAT_QUICKFIX
|
||||||
# define PV_BH OPT_BUF(BV_BH)
|
# define PV_BH OPT_BUF(BV_BH)
|
||||||
|
# define PV_BT OPT_BUF(BV_BT)
|
||||||
|
# define PV_EFM OPT_BOTH(OPT_BUF(BV_EFM))
|
||||||
|
# define PV_GP OPT_BOTH(OPT_BUF(BV_GP))
|
||||||
|
# define PV_MP OPT_BOTH(OPT_BUF(BV_MP))
|
||||||
#endif
|
#endif
|
||||||
#define PV_BIN OPT_BUF(BV_BIN)
|
#define PV_BIN OPT_BUF(BV_BIN)
|
||||||
#define PV_BL OPT_BUF(BV_BL)
|
#define PV_BL OPT_BUF(BV_BL)
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
# define PV_BOMB OPT_BUF(BV_BOMB)
|
||||||
|
#endif
|
||||||
|
#define PV_CI OPT_BUF(BV_CI)
|
||||||
|
#ifdef FEAT_CINDENT
|
||||||
|
# define PV_CIN OPT_BUF(BV_CIN)
|
||||||
|
# define PV_CINK OPT_BUF(BV_CINK)
|
||||||
|
# define PV_CINO OPT_BUF(BV_CINO)
|
||||||
|
#endif
|
||||||
|
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
||||||
|
# define PV_CINW OPT_BUF(BV_CINW)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_FOLDING
|
||||||
|
# define PV_CMS OPT_BUF(BV_CMS)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_COMMENTS
|
||||||
|
# define PV_COM OPT_BUF(BV_COM)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_INS_EXPAND
|
||||||
|
# define PV_CPT OPT_BUF(BV_CPT)
|
||||||
|
# define PV_DICT OPT_BOTH(OPT_BUF(BV_DICT))
|
||||||
|
# define PV_TSR OPT_BOTH(OPT_BUF(BV_TSR))
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_COMPL_FUNC
|
||||||
|
# define PV_CFU OPT_BUF(BV_CFU)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_FIND_ID
|
||||||
|
# define PV_DEF OPT_BOTH(OPT_BUF(BV_DEF))
|
||||||
|
# define PV_INC OPT_BOTH(OPT_BUF(BV_INC))
|
||||||
|
#endif
|
||||||
|
#define PV_EOL OPT_BUF(BV_EOL)
|
||||||
|
#define PV_EP OPT_BOTH(OPT_BUF(BV_EP))
|
||||||
|
#define PV_ET OPT_BUF(BV_ET)
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
# define PV_FENC OPT_BUF(BV_FENC)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
# define PV_FEX OPT_BUF(BV_FEX)
|
||||||
|
#endif
|
||||||
|
#define PV_FF OPT_BUF(BV_FF)
|
||||||
|
#define PV_FLP OPT_BUF(BV_FLP)
|
||||||
|
#define PV_FO OPT_BUF(BV_FO)
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
# define PV_FT OPT_BUF(BV_FT)
|
||||||
|
#endif
|
||||||
|
#define PV_IMI OPT_BUF(BV_IMI)
|
||||||
|
#define PV_IMS OPT_BUF(BV_IMS)
|
||||||
|
#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
|
||||||
|
# define PV_INDE OPT_BUF(BV_INDE)
|
||||||
|
# define PV_INDK OPT_BUF(BV_INDK)
|
||||||
|
#endif
|
||||||
|
#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
|
||||||
|
# define PV_INEX OPT_BUF(BV_INEX)
|
||||||
|
#endif
|
||||||
|
#define PV_INF OPT_BUF(BV_INF)
|
||||||
|
#define PV_ISK OPT_BUF(BV_ISK)
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
|
# define PV_KEY OPT_BUF(BV_KEY)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_KEYMAP
|
||||||
|
# define PV_KMAP OPT_BUF(BV_KMAP)
|
||||||
|
#endif
|
||||||
|
#define PV_KP OPT_BOTH(OPT_BUF(BV_KP))
|
||||||
|
#ifdef FEAT_LISP
|
||||||
|
# define PV_LISP OPT_BUF(BV_LISP)
|
||||||
|
#endif
|
||||||
|
#define PV_MA OPT_BUF(BV_MA)
|
||||||
|
#define PV_ML OPT_BUF(BV_ML)
|
||||||
|
#define PV_MOD OPT_BUF(BV_MOD)
|
||||||
|
#define PV_MPS OPT_BUF(BV_MPS)
|
||||||
|
#define PV_NF OPT_BUF(BV_NF)
|
||||||
|
#ifdef FEAT_OSFILETYPE
|
||||||
|
# define PV_OFT OPT_BUF(BV_OFT)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_COMPL_FUNC
|
||||||
|
# define PV_OFU OPT_BUF(BV_OFU)
|
||||||
|
#endif
|
||||||
|
#define PV_PATH OPT_BOTH(OPT_BUF(BV_PATH))
|
||||||
|
#define PV_PI OPT_BUF(BV_PI)
|
||||||
|
#ifdef FEAT_TEXTOBJ
|
||||||
|
# define PV_QE OPT_BUF(BV_QE)
|
||||||
|
#endif
|
||||||
|
#define PV_RO OPT_BUF(BV_RO)
|
||||||
|
#ifdef FEAT_SMARTINDENT
|
||||||
|
# define PV_SI OPT_BUF(BV_SI)
|
||||||
|
#endif
|
||||||
|
#ifndef SHORT_FNAME
|
||||||
|
# define PV_SN OPT_BUF(BV_SN)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
# define PV_SMC OPT_BUF(BV_SMC)
|
||||||
|
# define PV_SPC OPT_BUF(BV_SPC)
|
||||||
|
# define PV_SPF OPT_BUF(BV_SPF)
|
||||||
|
# define PV_SPL OPT_BUF(BV_SPL)
|
||||||
|
# define PV_SYN OPT_BUF(BV_SYN)
|
||||||
|
#endif
|
||||||
|
#define PV_STS OPT_BUF(BV_STS)
|
||||||
|
#ifdef FEAT_SEARCHPATH
|
||||||
|
# define PV_SUA OPT_BUF(BV_SUA)
|
||||||
|
#endif
|
||||||
|
#define PV_SW OPT_BUF(BV_SW)
|
||||||
|
#define PV_SWF OPT_BUF(BV_SWF)
|
||||||
|
#define PV_TAGS OPT_BOTH(OPT_BUF(BV_TAGS))
|
||||||
|
#define PV_TS OPT_BUF(BV_TS)
|
||||||
|
#define PV_TW OPT_BUF(BV_TW)
|
||||||
|
#define PV_TX OPT_BUF(BV_TX)
|
||||||
|
#define PV_WM OPT_BUF(BV_WM)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "indir" values for window-local options
|
* Definition of the PV_ values for window-local options.
|
||||||
|
* The WV_ values are defined in option.h.
|
||||||
*/
|
*/
|
||||||
enum
|
|
||||||
{
|
|
||||||
WV_LIST = 0
|
|
||||||
#ifdef FEAT_ARABIC
|
|
||||||
, WV_ARAB
|
|
||||||
#endif
|
|
||||||
, WV_COUNT /* must be the last one */
|
|
||||||
};
|
|
||||||
|
|
||||||
#define PV_LIST OPT_WIN(WV_LIST)
|
#define PV_LIST OPT_WIN(WV_LIST)
|
||||||
#ifdef FEAT_ARABIC
|
#ifdef FEAT_ARABIC
|
||||||
# define PV_ARAB OPT_WIN(WV_ARAB)
|
# define PV_ARAB OPT_WIN(WV_ARAB)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_DIFF
|
||||||
|
# define PV_DIFF OPT_WIN(WV_DIFF)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_FOLDING
|
||||||
|
# define PV_FDC OPT_WIN(WV_FDC)
|
||||||
|
# define PV_FEN OPT_WIN(WV_FEN)
|
||||||
|
# define PV_FDI OPT_WIN(WV_FDI)
|
||||||
|
# define PV_FDL OPT_WIN(WV_FDL)
|
||||||
|
# define PV_FDM OPT_WIN(WV_FDM)
|
||||||
|
# define PV_FML OPT_WIN(WV_FML)
|
||||||
|
# define PV_FDN OPT_WIN(WV_FDN)
|
||||||
|
# ifdef FEAT_EVAL
|
||||||
|
# define PV_FDE OPT_WIN(WV_FDE)
|
||||||
|
# define PV_FDT OPT_WIN(WV_FDT)
|
||||||
|
# endif
|
||||||
|
# define PV_FMR OPT_WIN(WV_FMR)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_LINEBREAK
|
||||||
|
# define PV_LBR OPT_WIN(WV_LBR)
|
||||||
|
#endif
|
||||||
|
#define PV_NU OPT_WIN(WV_NU)
|
||||||
|
#ifdef FEAT_LINEBREAK
|
||||||
|
# define PV_NUW OPT_WIN(WV_NUW)
|
||||||
|
#endif
|
||||||
|
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||||
|
# define PV_PVW OPT_WIN(WV_PVW)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_RIGHTLEFT
|
||||||
|
# define PV_RL OPT_WIN(WV_RL)
|
||||||
|
# define PV_RLC OPT_WIN(WV_RLC)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_SCROLLBIND
|
||||||
|
# define PV_SCBIND OPT_WIN(WV_SCBIND)
|
||||||
|
#endif
|
||||||
|
#define PV_SCROLL OPT_WIN(WV_SCROLL)
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
# define PV_SPELL OPT_WIN(WV_SPELL)
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_STL_OPT
|
||||||
|
# define PV_STL OPT_BOTH(OPT_WIN(WV_STL))
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_WINDOWS
|
||||||
|
# define PV_WFH OPT_WIN(WV_WFH)
|
||||||
|
#endif
|
||||||
|
#define PV_WRAP OPT_WIN(WV_WRAP)
|
||||||
|
|
||||||
/* TODO: "indir" values for the rest */
|
|
||||||
|
/* WV_ and BV_ values get typecasted to this for the "indir" field */
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
PV_NONE = 0
|
PV_NONE = 0
|
||||||
, PV_BOMB
|
|
||||||
, PV_BT
|
|
||||||
, PV_CI
|
|
||||||
, PV_CIN
|
|
||||||
, PV_CINK
|
|
||||||
, PV_CINO
|
|
||||||
, PV_CINW
|
|
||||||
, PV_CMS
|
|
||||||
, PV_COM
|
|
||||||
, PV_CPT
|
|
||||||
, PV_CFU
|
|
||||||
, PV_DEF
|
|
||||||
, PV_DICT
|
|
||||||
, PV_DIFF
|
|
||||||
, PV_EFM
|
|
||||||
, PV_EOL
|
|
||||||
, PV_EP
|
|
||||||
, PV_ET
|
|
||||||
, PV_FDC
|
|
||||||
, PV_FDE
|
|
||||||
, PV_FDI
|
|
||||||
, PV_FDL
|
|
||||||
, PV_FDM
|
|
||||||
, PV_FDN
|
|
||||||
, PV_FDT
|
|
||||||
, PV_FEN
|
|
||||||
, PV_FENC
|
|
||||||
, PV_FEX
|
|
||||||
, PV_FF
|
|
||||||
, PV_FML
|
|
||||||
, PV_FMR
|
|
||||||
, PV_FLP
|
|
||||||
, PV_FO
|
|
||||||
, PV_FT
|
|
||||||
, PV_GP
|
|
||||||
, PV_IMI
|
|
||||||
, PV_IMS
|
|
||||||
, PV_INC
|
|
||||||
, PV_INDE
|
|
||||||
, PV_INDK
|
|
||||||
, PV_INEX
|
|
||||||
, PV_INF
|
|
||||||
, PV_ISK
|
|
||||||
, PV_KEY
|
|
||||||
, PV_KMAP
|
|
||||||
, PV_KP
|
|
||||||
, PV_LBR
|
|
||||||
, PV_LISP
|
|
||||||
, PV_MA
|
|
||||||
, PV_ML
|
|
||||||
, PV_MOD
|
|
||||||
, PV_MP
|
|
||||||
, PV_MPS
|
|
||||||
, PV_NF
|
|
||||||
, PV_NU
|
|
||||||
, PV_NUW
|
|
||||||
, PV_OFT
|
|
||||||
, PV_OFU
|
|
||||||
, PV_PATH
|
|
||||||
, PV_PI
|
|
||||||
, PV_PVW
|
|
||||||
, PV_QE
|
|
||||||
, PV_RL
|
|
||||||
, PV_RLC
|
|
||||||
, PV_RO
|
|
||||||
, PV_SCBIND
|
|
||||||
, PV_SCROLL
|
|
||||||
, PV_SI
|
|
||||||
, PV_SN
|
|
||||||
, PV_SPELL
|
|
||||||
, PV_SPC
|
|
||||||
, PV_SPF
|
|
||||||
, PV_SPL
|
|
||||||
, PV_STL
|
|
||||||
, PV_STS
|
|
||||||
, PV_SUA
|
|
||||||
, PV_SW
|
|
||||||
, PV_SWF
|
|
||||||
, PV_SMC
|
|
||||||
, PV_SYN
|
|
||||||
, PV_TAGS
|
|
||||||
, PV_TS
|
|
||||||
, PV_TSR
|
|
||||||
, PV_TW
|
|
||||||
, PV_TX
|
|
||||||
, PV_WFH
|
|
||||||
, PV_WM
|
|
||||||
, PV_WRAP
|
|
||||||
} idopt_T;
|
} idopt_T;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -784,7 +835,7 @@ static struct vimoption
|
|||||||
{(char_u *)"", (char_u *)0L}},
|
{(char_u *)"", (char_u *)0L}},
|
||||||
{"define", "def", P_STRING|P_ALLOCED|P_VI_DEF,
|
{"define", "def", P_STRING|P_ALLOCED|P_VI_DEF,
|
||||||
#ifdef FEAT_FIND_ID
|
#ifdef FEAT_FIND_ID
|
||||||
(char_u *)&p_def, OPT_BOTH(PV_DEF),
|
(char_u *)&p_def, PV_DEF,
|
||||||
{(char_u *)"^\\s*#\\s*define", (char_u *)0L}
|
{(char_u *)"^\\s*#\\s*define", (char_u *)0L}
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
@ -801,7 +852,7 @@ static struct vimoption
|
|||||||
},
|
},
|
||||||
{"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
{"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
||||||
#ifdef FEAT_INS_EXPAND
|
#ifdef FEAT_INS_EXPAND
|
||||||
(char_u *)&p_dict, OPT_BOTH(PV_DICT),
|
(char_u *)&p_dict, PV_DICT,
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
#endif
|
#endif
|
||||||
@ -872,7 +923,7 @@ static struct vimoption
|
|||||||
(char_u *)&p_ea, PV_NONE,
|
(char_u *)&p_ea, PV_NONE,
|
||||||
{(char_u *)TRUE, (char_u *)0L}},
|
{(char_u *)TRUE, (char_u *)0L}},
|
||||||
{"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
{"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||||
(char_u *)&p_ep, OPT_BOTH(PV_EP),
|
(char_u *)&p_ep, PV_EP,
|
||||||
{(char_u *)"", (char_u *)0L}},
|
{(char_u *)"", (char_u *)0L}},
|
||||||
{"errorbells", "eb", P_BOOL|P_VI_DEF,
|
{"errorbells", "eb", P_BOOL|P_VI_DEF,
|
||||||
(char_u *)&p_eb, PV_NONE,
|
(char_u *)&p_eb, PV_NONE,
|
||||||
@ -888,7 +939,7 @@ static struct vimoption
|
|||||||
},
|
},
|
||||||
{"errorformat", "efm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
|
{"errorformat", "efm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
(char_u *)&p_efm, OPT_BOTH(PV_EFM),
|
(char_u *)&p_efm, PV_EFM,
|
||||||
{(char_u *)DFLT_EFM, (char_u *)0L},
|
{(char_u *)DFLT_EFM, (char_u *)0L},
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
@ -1019,7 +1070,7 @@ static struct vimoption
|
|||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
|
{"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM,
|
||||||
#if defined(FEAT_EVAL)
|
#ifdef FEAT_EVAL
|
||||||
(char_u *)&p_fex, PV_FEX,
|
(char_u *)&p_fex, PV_FEX,
|
||||||
{(char_u *)"", (char_u *)0L}
|
{(char_u *)"", (char_u *)0L}
|
||||||
#else
|
#else
|
||||||
@ -1062,7 +1113,7 @@ static struct vimoption
|
|||||||
},
|
},
|
||||||
{"grepprg", "gp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
{"grepprg", "gp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
(char_u *)&p_gp, OPT_BOTH(PV_GP),
|
(char_u *)&p_gp, PV_GP,
|
||||||
{
|
{
|
||||||
# ifdef WIN3264
|
# ifdef WIN3264
|
||||||
/* may be changed to "grep -n" in os_win32.c */
|
/* may be changed to "grep -n" in os_win32.c */
|
||||||
@ -1274,7 +1325,7 @@ static struct vimoption
|
|||||||
},
|
},
|
||||||
{"include", "inc", P_STRING|P_ALLOCED|P_VI_DEF,
|
{"include", "inc", P_STRING|P_ALLOCED|P_VI_DEF,
|
||||||
#ifdef FEAT_FIND_ID
|
#ifdef FEAT_FIND_ID
|
||||||
(char_u *)&p_inc, OPT_BOTH(PV_INC),
|
(char_u *)&p_inc, PV_INC,
|
||||||
{(char_u *)"^\\s*#\\s*include", (char_u *)0L}
|
{(char_u *)"^\\s*#\\s*include", (char_u *)0L}
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
@ -1421,7 +1472,7 @@ static struct vimoption
|
|||||||
#endif
|
#endif
|
||||||
{(char_u *)"", (char_u *)0L}},
|
{(char_u *)"", (char_u *)0L}},
|
||||||
{"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
{"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||||
(char_u *)&p_kp, OPT_BOTH(PV_KP),
|
(char_u *)&p_kp, PV_KP,
|
||||||
{
|
{
|
||||||
#if defined(MSDOS) || defined(MSWIN)
|
#if defined(MSDOS) || defined(MSWIN)
|
||||||
(char_u *)":help",
|
(char_u *)":help",
|
||||||
@ -1534,7 +1585,7 @@ static struct vimoption
|
|||||||
},
|
},
|
||||||
{"makeprg", "mp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
{"makeprg", "mp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
(char_u *)&p_mp, OPT_BOTH(PV_MP),
|
(char_u *)&p_mp, PV_MP,
|
||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
{(char_u *)"MMS", (char_u *)0L}
|
{(char_u *)"MMS", (char_u *)0L}
|
||||||
# else
|
# else
|
||||||
@ -1724,7 +1775,7 @@ static struct vimoption
|
|||||||
(char_u *)&p_pm, PV_NONE,
|
(char_u *)&p_pm, PV_NONE,
|
||||||
{(char_u *)"", (char_u *)0L}},
|
{(char_u *)"", (char_u *)0L}},
|
||||||
{"path", "pa", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
{"path", "pa", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
||||||
(char_u *)&p_path, OPT_BOTH(PV_PATH),
|
(char_u *)&p_path, PV_PATH,
|
||||||
{
|
{
|
||||||
#if defined AMIGA || defined MSDOS || defined MSWIN
|
#if defined AMIGA || defined MSDOS || defined MSWIN
|
||||||
(char_u *)".,,",
|
(char_u *)".,,",
|
||||||
@ -2192,7 +2243,7 @@ static struct vimoption
|
|||||||
{(char_u *)TRUE, (char_u *)0L}},
|
{(char_u *)TRUE, (char_u *)0L}},
|
||||||
{"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT,
|
{"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT,
|
||||||
#ifdef FEAT_STL_OPT
|
#ifdef FEAT_STL_OPT
|
||||||
(char_u *)&p_stl, OPT_BOTH(PV_STL),
|
(char_u *)&p_stl, PV_STL,
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
#endif
|
#endif
|
||||||
@ -2202,7 +2253,7 @@ static struct vimoption
|
|||||||
{(char_u *)".bak,~,.o,.h,.info,.swp,.obj",
|
{(char_u *)".bak,~,.o,.h,.info,.swp,.obj",
|
||||||
(char_u *)0L}},
|
(char_u *)0L}},
|
||||||
{"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_COMMA|P_NODUP,
|
{"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_COMMA|P_NODUP,
|
||||||
#if defined(FEAT_SEARCHPATH)
|
#ifdef FEAT_SEARCHPATH
|
||||||
(char_u *)&p_sua, PV_SUA,
|
(char_u *)&p_sua, PV_SUA,
|
||||||
{(char_u *)"", (char_u *)0L}
|
{(char_u *)"", (char_u *)0L}
|
||||||
#else
|
#else
|
||||||
@ -2262,7 +2313,7 @@ static struct vimoption
|
|||||||
(char_u *)&p_tr, PV_NONE,
|
(char_u *)&p_tr, PV_NONE,
|
||||||
{(char_u *)FALSE, (char_u *)TRUE}},
|
{(char_u *)FALSE, (char_u *)TRUE}},
|
||||||
{"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
{"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
||||||
(char_u *)&p_tags, OPT_BOTH(PV_TAGS),
|
(char_u *)&p_tags, PV_TAGS,
|
||||||
{
|
{
|
||||||
#if defined(FEAT_EMACS_TAGS) && !defined(CASE_INSENSITIVE_FILENAME)
|
#if defined(FEAT_EMACS_TAGS) && !defined(CASE_INSENSITIVE_FILENAME)
|
||||||
(char_u *)"./tags,./TAGS,tags,TAGS",
|
(char_u *)"./tags,./TAGS,tags,TAGS",
|
||||||
@ -2312,7 +2363,7 @@ static struct vimoption
|
|||||||
{(char_u *)0L, (char_u *)0L}},
|
{(char_u *)0L, (char_u *)0L}},
|
||||||
{"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
{"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP,
|
||||||
#ifdef FEAT_INS_EXPAND
|
#ifdef FEAT_INS_EXPAND
|
||||||
(char_u *)&p_tsr, OPT_BOTH(PV_TSR),
|
(char_u *)&p_tsr, PV_TSR,
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
#endif
|
#endif
|
||||||
@ -2531,7 +2582,7 @@ static struct vimoption
|
|||||||
#endif
|
#endif
|
||||||
{(char_u *)1L, (char_u *)0L}},
|
{(char_u *)1L, (char_u *)0L}},
|
||||||
{"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT,
|
{"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT,
|
||||||
#if defined(FEAT_WINDOWS)
|
#ifdef FEAT_WINDOWS
|
||||||
(char_u *)VAR_WIN, PV_WFH,
|
(char_u *)VAR_WIN, PV_WFH,
|
||||||
#else
|
#else
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
@ -2737,6 +2788,9 @@ static char_u *check_clipboard_option __ARGS((void));
|
|||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
static char_u *compile_cap_prog __ARGS((buf_T *buf));
|
static char_u *compile_cap_prog __ARGS((buf_T *buf));
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
static void set_option_scriptID_idx __ARGS((int opt_idx, int opt_flags, int id));
|
||||||
|
#endif
|
||||||
static char_u *set_bool_option __ARGS((int opt_idx, char_u *varp, int value, int opt_flags));
|
static char_u *set_bool_option __ARGS((int opt_idx, char_u *varp, int value, int opt_flags));
|
||||||
static char_u *set_num_option __ARGS((int opt_idx, char_u *varp, long value, char_u *errbuf, size_t errbuflen, int opt_flags));
|
static char_u *set_num_option __ARGS((int opt_idx, char_u *varp, long value, char_u *errbuf, size_t errbuflen, int opt_flags));
|
||||||
static void check_redraw __ARGS((long_u flags));
|
static void check_redraw __ARGS((long_u flags));
|
||||||
@ -3139,7 +3193,7 @@ set_init_1()
|
|||||||
{
|
{
|
||||||
/* Adjust the default for 'isprint' to match latin1. */
|
/* Adjust the default for 'isprint' to match latin1. */
|
||||||
set_string_option_direct((char_u *)"isp", -1,
|
set_string_option_direct((char_u *)"isp", -1,
|
||||||
(char_u *)"@,161-255", OPT_FREE);
|
(char_u *)"@,161-255", OPT_FREE, SID_NONE);
|
||||||
(void)init_chartab();
|
(void)init_chartab();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -3211,7 +3265,7 @@ set_option_default(opt_idx, opt_flags, compatible)
|
|||||||
* freeing and allocating the value. */
|
* freeing and allocating the value. */
|
||||||
if (options[opt_idx].indir != PV_NONE)
|
if (options[opt_idx].indir != PV_NONE)
|
||||||
set_string_option_direct(NULL, opt_idx,
|
set_string_option_direct(NULL, opt_idx,
|
||||||
options[opt_idx].def_val[dvi], opt_flags);
|
options[opt_idx].def_val[dvi], opt_flags, 0);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((opt_flags & OPT_FREE) && (flags & P_ALLOCED))
|
if ((opt_flags & OPT_FREE) && (flags & P_ALLOCED))
|
||||||
@ -3249,8 +3303,7 @@ set_option_default(opt_idx, opt_flags, compatible)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
/* Remember where the option was set. */
|
set_option_scriptID_idx(opt_idx, opt_flags, current_SID);
|
||||||
options[opt_idx].scriptID = current_SID;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3381,7 +3434,7 @@ set_init_2()
|
|||||||
idx = findoption((char_u *)"bg");
|
idx = findoption((char_u *)"bg");
|
||||||
if (!(options[idx].flags & P_WAS_SET) && *term_bg_default() == 'd')
|
if (!(options[idx].flags & P_WAS_SET) && *term_bg_default() == 'd')
|
||||||
{
|
{
|
||||||
set_string_option_direct(NULL, idx, (char_u *)"dark", OPT_FREE);
|
set_string_option_direct(NULL, idx, (char_u *)"dark", OPT_FREE, 0);
|
||||||
/* don't mark it as set, when starting the GUI it may be
|
/* don't mark it as set, when starting the GUI it may be
|
||||||
* changed again */
|
* changed again */
|
||||||
options[idx].flags &= ~P_WAS_SET;
|
options[idx].flags &= ~P_WAS_SET;
|
||||||
@ -3966,7 +4019,17 @@ do_set(arg, opt_flags)
|
|||||||
showoneopt(&options[opt_idx], opt_flags);
|
showoneopt(&options[opt_idx], opt_flags);
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
if (p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
last_set_msg(options[opt_idx].scriptID);
|
{
|
||||||
|
/* Mention where the option was last set. */
|
||||||
|
if (varp == options[opt_idx].var)
|
||||||
|
last_set_msg(options[opt_idx].scriptID);
|
||||||
|
else if ((int)options[opt_idx].indir & PV_WIN)
|
||||||
|
last_set_msg(curwin->w_p_scriptID[
|
||||||
|
(int)options[opt_idx].indir & PV_MASK]);
|
||||||
|
else if ((int)options[opt_idx].indir & PV_BUF)
|
||||||
|
last_set_msg(curbuf->b_p_scriptID[
|
||||||
|
(int)options[opt_idx].indir & PV_MASK]);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -5010,19 +5073,19 @@ insecure_flag(opt_idx, opt_flags)
|
|||||||
switch ((int)options[opt_idx].indir)
|
switch ((int)options[opt_idx].indir)
|
||||||
{
|
{
|
||||||
#ifdef FEAT_STL_OPT
|
#ifdef FEAT_STL_OPT
|
||||||
case OPT_BOTH(PV_STL): return &curwin->w_p_stl_flags;
|
case PV_STL: return &curwin->w_p_stl_flags;
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
case PV_FDE: return &curwin->w_p_fde_flags;
|
case PV_FDE: return &curwin->w_p_fde_flags;
|
||||||
case PV_FDT: return &curwin->w_p_fdt_flags;
|
case PV_FDT: return &curwin->w_p_fdt_flags;
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEAT_EVAL)
|
#if defined(FEAT_EVAL)
|
||||||
# if defined(FEAT_CINDENT)
|
# if defined(FEAT_CINDENT)
|
||||||
case PV_INDE: return &curbuf->b_p_inde_flags;
|
case PV_INDE: return &curbuf->b_p_inde_flags;
|
||||||
# endif
|
# endif
|
||||||
case PV_FEX: return &curbuf->b_p_fex_flags;
|
case PV_FEX: return &curbuf->b_p_fex_flags;
|
||||||
# ifdef FEAT_FIND_ID
|
# ifdef FEAT_FIND_ID
|
||||||
case PV_INEX: return &curbuf->b_p_inex_flags;
|
case PV_INEX: return &curbuf->b_p_inex_flags;
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -5036,13 +5099,17 @@ insecure_flag(opt_idx, opt_flags)
|
|||||||
* Set a string option to a new value (without checking the effect).
|
* Set a string option to a new value (without checking the effect).
|
||||||
* The string is copied into allocated memory.
|
* The string is copied into allocated memory.
|
||||||
* if ("opt_idx" == -1) "name" is used, otherwise "opt_idx" is used.
|
* if ("opt_idx" == -1) "name" is used, otherwise "opt_idx" is used.
|
||||||
|
* When "set_sid" is zero set the scriptID to current_SID. When "set_sid" is
|
||||||
|
* SID_NONE don't set the scriptID. Otherwose set the scriptID to "set_sid".
|
||||||
*/
|
*/
|
||||||
|
/*ARGSUSED*/
|
||||||
void
|
void
|
||||||
set_string_option_direct(name, opt_idx, val, opt_flags)
|
set_string_option_direct(name, opt_idx, val, opt_flags, set_sid)
|
||||||
char_u *name;
|
char_u *name;
|
||||||
int opt_idx;
|
int opt_idx;
|
||||||
char_u *val;
|
char_u *val;
|
||||||
int opt_flags; /* OPT_FREE, OPT_LOCAL and/or OPT_GLOBAL */
|
int opt_flags; /* OPT_FREE, OPT_LOCAL and/or OPT_GLOBAL */
|
||||||
|
int set_sid;
|
||||||
{
|
{
|
||||||
char_u *s;
|
char_u *s;
|
||||||
char_u **varp;
|
char_u **varp;
|
||||||
@ -5052,7 +5119,10 @@ set_string_option_direct(name, opt_idx, val, opt_flags)
|
|||||||
{
|
{
|
||||||
opt_idx = findoption(name);
|
opt_idx = findoption(name);
|
||||||
if (opt_idx == -1) /* not found (should not happen) */
|
if (opt_idx == -1) /* not found (should not happen) */
|
||||||
|
{
|
||||||
|
EMSG2(_(e_intern2), "set_string_option_direct()");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options[opt_idx].var == NULL) /* can't set hidden option */
|
if (options[opt_idx].var == NULL) /* can't set hidden option */
|
||||||
@ -5080,6 +5150,11 @@ set_string_option_direct(name, opt_idx, val, opt_flags)
|
|||||||
free_string_option(*varp);
|
free_string_option(*varp);
|
||||||
*varp = empty_option;
|
*varp = empty_option;
|
||||||
}
|
}
|
||||||
|
# ifdef FEAT_EVAL
|
||||||
|
if (set_sid != SID_NONE)
|
||||||
|
set_option_scriptID_idx(opt_idx, opt_flags,
|
||||||
|
set_sid == 0 ? current_SID : set_sid);
|
||||||
|
# endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6376,7 +6451,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
|
|||||||
{
|
{
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
/* Remember where the option was set. */
|
/* Remember where the option was set. */
|
||||||
options[opt_idx].scriptID = current_SID;
|
set_option_scriptID_idx(opt_idx, opt_flags, current_SID);
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* Free string options that are in allocated memory.
|
* Free string options that are in allocated memory.
|
||||||
@ -6761,19 +6836,29 @@ compile_cap_prog(buf)
|
|||||||
|
|
||||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||||
/*
|
/*
|
||||||
* Set the script ID of option "name" to "id".
|
* Set the scriptID for an option, taking care of setting the buffer- or
|
||||||
|
* window-local value.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
set_option_scriptID(name, id)
|
set_option_scriptID_idx(opt_idx, opt_flags, id)
|
||||||
char_u *name;
|
int opt_idx;
|
||||||
int id;
|
int opt_flags;
|
||||||
|
int id;
|
||||||
{
|
{
|
||||||
int opt_idx = findoption(name);
|
int both = (opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0;
|
||||||
|
int indir = (int)options[opt_idx].indir;
|
||||||
|
|
||||||
if (opt_idx == -1) /* not found (should not happen) */
|
/* Remember where the option was set. For local options need to do that
|
||||||
EMSG2(_(e_intern2), "set_option_scriptID()");
|
* in the buffer or window structure. */
|
||||||
else
|
if (both || (opt_flags & OPT_GLOBAL) || (indir & (PV_BUF|PV_WIN)) == 0)
|
||||||
options[opt_idx].scriptID = id;
|
options[opt_idx].scriptID = id;
|
||||||
|
if (both || (opt_flags & OPT_LOCAL))
|
||||||
|
{
|
||||||
|
if (indir & PV_BUF)
|
||||||
|
curbuf->b_p_scriptID[indir & PV_MASK] = id;
|
||||||
|
else if (indir & PV_WIN)
|
||||||
|
curwin->w_p_scriptID[indir & PV_MASK] = id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -6801,7 +6886,7 @@ set_bool_option(opt_idx, varp, value, opt_flags)
|
|||||||
*(int *)varp = value; /* set the new value */
|
*(int *)varp = value; /* set the new value */
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
/* Remember where the option was set. */
|
/* Remember where the option was set. */
|
||||||
options[opt_idx].scriptID = current_SID;
|
set_option_scriptID_idx(opt_idx, opt_flags, current_SID);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
@ -6885,10 +6970,7 @@ set_bool_option(opt_idx, varp, value, opt_flags)
|
|||||||
{
|
{
|
||||||
STRCPY(IObuff, p_shm);
|
STRCPY(IObuff, p_shm);
|
||||||
STRCAT(IObuff, "s");
|
STRCAT(IObuff, "s");
|
||||||
set_string_option_direct((char_u *)"shm", -1, IObuff, OPT_FREE);
|
set_string_option_direct((char_u *)"shm", -1, IObuff, OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"shm", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
/* remove 's' from p_shm */
|
/* remove 's' from p_shm */
|
||||||
else if (!p_terse && p != NULL)
|
else if (!p_terse && p != NULL)
|
||||||
@ -6970,14 +7052,9 @@ set_bool_option(opt_idx, varp, value, opt_flags)
|
|||||||
|
|
||||||
/* when 'textauto' is set or reset also change 'fileformats' */
|
/* when 'textauto' is set or reset also change 'fileformats' */
|
||||||
else if ((int *)varp == &p_ta)
|
else if ((int *)varp == &p_ta)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"ffs", -1,
|
set_string_option_direct((char_u *)"ffs", -1,
|
||||||
p_ta ? (char_u *)DFLT_FFS_VIM : (char_u *)"",
|
p_ta ? (char_u *)DFLT_FFS_VIM : (char_u *)"",
|
||||||
OPT_FREE | opt_flags);
|
OPT_FREE | opt_flags, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"ffs", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When 'lisp' option changes include/exclude '-' in
|
* When 'lisp' option changes include/exclude '-' in
|
||||||
@ -7313,7 +7390,7 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags)
|
|||||||
*pp = value;
|
*pp = value;
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
/* Remember where the option was set. */
|
/* Remember where the option was set. */
|
||||||
options[opt_idx].scriptID = current_SID;
|
set_option_scriptID_idx(opt_idx, opt_flags, current_SID);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
need_mouse_correct = TRUE;
|
need_mouse_correct = TRUE;
|
||||||
@ -8297,23 +8374,39 @@ makeset(fd, opt_flags, local_only)
|
|||||||
}
|
}
|
||||||
else /* P_STRING */
|
else /* P_STRING */
|
||||||
{
|
{
|
||||||
|
#if defined(FEAT_SYN_HL) || defined(FEAT_AUTOCMD)
|
||||||
|
int do_endif = FALSE;
|
||||||
|
|
||||||
/* Don't set 'syntax' and 'filetype' again if the value is
|
/* Don't set 'syntax' and 'filetype' again if the value is
|
||||||
* already right, avoids reloading the syntax file. */
|
* already right, avoids reloading the syntax file. */
|
||||||
if (p->indir == PV_SYN || p->indir == PV_FT)
|
if (
|
||||||
|
# if defined(FEAT_SYN_HL)
|
||||||
|
p->indir == PV_SYN
|
||||||
|
# if defined(FEAT_AUTOCMD)
|
||||||
|
||
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
# if defined(FEAT_AUTOCMD)
|
||||||
|
p->indir == PV_FT)
|
||||||
|
# endif
|
||||||
{
|
{
|
||||||
if (fprintf(fd, "if &%s != '%s'", p->fullname,
|
if (fprintf(fd, "if &%s != '%s'", p->fullname,
|
||||||
*(char_u **)(varp)) < 0
|
*(char_u **)(varp)) < 0
|
||||||
|| put_eol(fd) < 0)
|
|| put_eol(fd) < 0)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
do_endif = TRUE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (put_setstring(fd, cmd, p->fullname, (char_u **)varp,
|
if (put_setstring(fd, cmd, p->fullname, (char_u **)varp,
|
||||||
(p->flags & P_EXPAND) != 0) == FAIL)
|
(p->flags & P_EXPAND) != 0) == FAIL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
if (p->indir == PV_SYN || p->indir == PV_FT)
|
#if defined(FEAT_SYN_HL) || defined(FEAT_AUTOCMD)
|
||||||
|
if (do_endif)
|
||||||
{
|
{
|
||||||
if (put_line(fd, "endif") == FAIL)
|
if (put_line(fd, "endif") == FAIL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8583,25 +8676,25 @@ get_varp_scope(p, opt_flags)
|
|||||||
switch ((int)p->indir)
|
switch ((int)p->indir)
|
||||||
{
|
{
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
case OPT_BOTH(PV_GP): return (char_u *)&(curbuf->b_p_gp);
|
case PV_EFM: return (char_u *)&(curbuf->b_p_efm);
|
||||||
case OPT_BOTH(PV_MP): return (char_u *)&(curbuf->b_p_mp);
|
case PV_GP: return (char_u *)&(curbuf->b_p_gp);
|
||||||
case OPT_BOTH(PV_EFM): return (char_u *)&(curbuf->b_p_efm);
|
case PV_MP: return (char_u *)&(curbuf->b_p_mp);
|
||||||
#endif
|
#endif
|
||||||
case OPT_BOTH(PV_EP): return (char_u *)&(curbuf->b_p_ep);
|
case PV_EP: return (char_u *)&(curbuf->b_p_ep);
|
||||||
case OPT_BOTH(PV_KP): return (char_u *)&(curbuf->b_p_kp);
|
case PV_KP: return (char_u *)&(curbuf->b_p_kp);
|
||||||
case OPT_BOTH(PV_PATH): return (char_u *)&(curbuf->b_p_path);
|
case PV_PATH: return (char_u *)&(curbuf->b_p_path);
|
||||||
case PV_AR: return (char_u *)&(curbuf->b_p_ar);
|
case PV_AR: return (char_u *)&(curbuf->b_p_ar);
|
||||||
case OPT_BOTH(PV_TAGS): return (char_u *)&(curbuf->b_p_tags);
|
case PV_TAGS: return (char_u *)&(curbuf->b_p_tags);
|
||||||
#ifdef FEAT_FIND_ID
|
#ifdef FEAT_FIND_ID
|
||||||
case OPT_BOTH(PV_DEF): return (char_u *)&(curbuf->b_p_def);
|
case PV_DEF: return (char_u *)&(curbuf->b_p_def);
|
||||||
case OPT_BOTH(PV_INC): return (char_u *)&(curbuf->b_p_inc);
|
case PV_INC: return (char_u *)&(curbuf->b_p_inc);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_INS_EXPAND
|
#ifdef FEAT_INS_EXPAND
|
||||||
case OPT_BOTH(PV_DICT): return (char_u *)&(curbuf->b_p_dict);
|
case PV_DICT: return (char_u *)&(curbuf->b_p_dict);
|
||||||
case OPT_BOTH(PV_TSR): return (char_u *)&(curbuf->b_p_tsr);
|
case PV_TSR: return (char_u *)&(curbuf->b_p_tsr);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_STL_OPT
|
#ifdef FEAT_STL_OPT
|
||||||
case OPT_BOTH(PV_STL): return (char_u *)&(curwin->w_p_stl);
|
case PV_STL: return (char_u *)&(curwin->w_p_stl);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
return NULL; /* "cannot happen" */
|
return NULL; /* "cannot happen" */
|
||||||
@ -8625,38 +8718,38 @@ get_varp(p)
|
|||||||
case PV_NONE: return p->var;
|
case PV_NONE: return p->var;
|
||||||
|
|
||||||
/* global option with local value: use local value if it's been set */
|
/* global option with local value: use local value if it's been set */
|
||||||
case OPT_BOTH(PV_EP): return *curbuf->b_p_ep != NUL
|
case PV_EP: return *curbuf->b_p_ep != NUL
|
||||||
? (char_u *)&curbuf->b_p_ep : p->var;
|
? (char_u *)&curbuf->b_p_ep : p->var;
|
||||||
case OPT_BOTH(PV_KP): return *curbuf->b_p_kp != NUL
|
case PV_KP: return *curbuf->b_p_kp != NUL
|
||||||
? (char_u *)&curbuf->b_p_kp : p->var;
|
? (char_u *)&curbuf->b_p_kp : p->var;
|
||||||
case OPT_BOTH(PV_PATH): return *curbuf->b_p_path != NUL
|
case PV_PATH: return *curbuf->b_p_path != NUL
|
||||||
? (char_u *)&(curbuf->b_p_path) : p->var;
|
? (char_u *)&(curbuf->b_p_path) : p->var;
|
||||||
case PV_AR: return curbuf->b_p_ar >= 0
|
case PV_AR: return curbuf->b_p_ar >= 0
|
||||||
? (char_u *)&(curbuf->b_p_ar) : p->var;
|
? (char_u *)&(curbuf->b_p_ar) : p->var;
|
||||||
case OPT_BOTH(PV_TAGS): return *curbuf->b_p_tags != NUL
|
case PV_TAGS: return *curbuf->b_p_tags != NUL
|
||||||
? (char_u *)&(curbuf->b_p_tags) : p->var;
|
? (char_u *)&(curbuf->b_p_tags) : p->var;
|
||||||
#ifdef FEAT_FIND_ID
|
#ifdef FEAT_FIND_ID
|
||||||
case OPT_BOTH(PV_DEF): return *curbuf->b_p_def != NUL
|
case PV_DEF: return *curbuf->b_p_def != NUL
|
||||||
? (char_u *)&(curbuf->b_p_def) : p->var;
|
? (char_u *)&(curbuf->b_p_def) : p->var;
|
||||||
case OPT_BOTH(PV_INC): return *curbuf->b_p_inc != NUL
|
case PV_INC: return *curbuf->b_p_inc != NUL
|
||||||
? (char_u *)&(curbuf->b_p_inc) : p->var;
|
? (char_u *)&(curbuf->b_p_inc) : p->var;
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_INS_EXPAND
|
#ifdef FEAT_INS_EXPAND
|
||||||
case OPT_BOTH(PV_DICT): return *curbuf->b_p_dict != NUL
|
case PV_DICT: return *curbuf->b_p_dict != NUL
|
||||||
? (char_u *)&(curbuf->b_p_dict) : p->var;
|
? (char_u *)&(curbuf->b_p_dict) : p->var;
|
||||||
case OPT_BOTH(PV_TSR): return *curbuf->b_p_tsr != NUL
|
case PV_TSR: return *curbuf->b_p_tsr != NUL
|
||||||
? (char_u *)&(curbuf->b_p_tsr) : p->var;
|
? (char_u *)&(curbuf->b_p_tsr) : p->var;
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
case OPT_BOTH(PV_GP): return *curbuf->b_p_gp != NUL
|
case PV_EFM: return *curbuf->b_p_efm != NUL
|
||||||
? (char_u *)&(curbuf->b_p_gp) : p->var;
|
|
||||||
case OPT_BOTH(PV_MP): return *curbuf->b_p_mp != NUL
|
|
||||||
? (char_u *)&(curbuf->b_p_mp) : p->var;
|
|
||||||
case OPT_BOTH(PV_EFM): return *curbuf->b_p_efm != NUL
|
|
||||||
? (char_u *)&(curbuf->b_p_efm) : p->var;
|
? (char_u *)&(curbuf->b_p_efm) : p->var;
|
||||||
|
case PV_GP: return *curbuf->b_p_gp != NUL
|
||||||
|
? (char_u *)&(curbuf->b_p_gp) : p->var;
|
||||||
|
case PV_MP: return *curbuf->b_p_mp != NUL
|
||||||
|
? (char_u *)&(curbuf->b_p_mp) : p->var;
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_STL_OPT
|
#ifdef FEAT_STL_OPT
|
||||||
case OPT_BOTH(PV_STL): return *curwin->w_p_stl != NUL
|
case PV_STL: return *curwin->w_p_stl != NUL
|
||||||
? (char_u *)&(curwin->w_p_stl) : p->var;
|
? (char_u *)&(curwin->w_p_stl) : p->var;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -8688,7 +8781,7 @@ get_varp(p)
|
|||||||
#ifdef FEAT_LINEBREAK
|
#ifdef FEAT_LINEBREAK
|
||||||
case PV_NUW: return (char_u *)&(curwin->w_p_nuw);
|
case PV_NUW: return (char_u *)&(curwin->w_p_nuw);
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEAT_WINDOWS)
|
#ifdef FEAT_WINDOWS
|
||||||
case PV_WFH: return (char_u *)&(curwin->w_p_wfh);
|
case PV_WFH: return (char_u *)&(curwin->w_p_wfh);
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||||
@ -8763,7 +8856,7 @@ get_varp(p)
|
|||||||
case PV_INDE: return (char_u *)&(curbuf->b_p_inde);
|
case PV_INDE: return (char_u *)&(curbuf->b_p_inde);
|
||||||
case PV_INDK: return (char_u *)&(curbuf->b_p_indk);
|
case PV_INDK: return (char_u *)&(curbuf->b_p_indk);
|
||||||
#endif
|
#endif
|
||||||
#if defined(FEAT_EVAL)
|
#ifdef FEAT_EVAL
|
||||||
case PV_FEX: return (char_u *)&(curbuf->b_p_fex);
|
case PV_FEX: return (char_u *)&(curbuf->b_p_fex);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_CRYPT
|
#ifdef FEAT_CRYPT
|
||||||
@ -8798,10 +8891,10 @@ get_varp(p)
|
|||||||
case PV_SWF: return (char_u *)&(curbuf->b_p_swf);
|
case PV_SWF: return (char_u *)&(curbuf->b_p_swf);
|
||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
case PV_SMC: return (char_u *)&(curbuf->b_p_smc);
|
case PV_SMC: return (char_u *)&(curbuf->b_p_smc);
|
||||||
case PV_SYN: return (char_u *)&(curbuf->b_p_syn);
|
|
||||||
case PV_SPC: return (char_u *)&(curbuf->b_p_spc);
|
case PV_SPC: return (char_u *)&(curbuf->b_p_spc);
|
||||||
case PV_SPF: return (char_u *)&(curbuf->b_p_spf);
|
case PV_SPF: return (char_u *)&(curbuf->b_p_spf);
|
||||||
case PV_SPL: return (char_u *)&(curbuf->b_p_spl);
|
case PV_SPL: return (char_u *)&(curbuf->b_p_spl);
|
||||||
|
case PV_SYN: return (char_u *)&(curbuf->b_p_syn);
|
||||||
#endif
|
#endif
|
||||||
case PV_SW: return (char_u *)&(curbuf->b_p_sw);
|
case PV_SW: return (char_u *)&(curbuf->b_p_sw);
|
||||||
case PV_TS: return (char_u *)&(curbuf->b_p_ts);
|
case PV_TS: return (char_u *)&(curbuf->b_p_ts);
|
||||||
|
187
src/option.h
187
src/option.h
@ -850,3 +850,190 @@ EXTERN int p_write; /* 'write' */
|
|||||||
EXTERN int p_wa; /* 'writeany' */
|
EXTERN int p_wa; /* 'writeany' */
|
||||||
EXTERN int p_wb; /* 'writebackup' */
|
EXTERN int p_wb; /* 'writebackup' */
|
||||||
EXTERN long p_wd; /* 'writedelay' */
|
EXTERN long p_wd; /* 'writedelay' */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* "indir" values for buffer-local opions.
|
||||||
|
* These need to be defined globally, so that the BV_COUNT can be used with
|
||||||
|
* b_p_scriptID[].
|
||||||
|
*/
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
BV_AI = 0
|
||||||
|
, BV_AR
|
||||||
|
#ifdef FEAT_QUICKFIX
|
||||||
|
, BV_BH
|
||||||
|
, BV_BT
|
||||||
|
, BV_EFM
|
||||||
|
, BV_GP
|
||||||
|
, BV_MP
|
||||||
|
#endif
|
||||||
|
, BV_BIN
|
||||||
|
, BV_BL
|
||||||
|
#ifdef FEAT_MBYTE
|
||||||
|
, BV_BOMB
|
||||||
|
#endif
|
||||||
|
, BV_CI
|
||||||
|
#ifdef FEAT_CINDENT
|
||||||
|
, BV_CIN
|
||||||
|
, BV_CINK
|
||||||
|
, BV_CINO
|
||||||
|
#endif
|
||||||
|
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
||||||
|
, BV_CINW
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_FOLDING
|
||||||
|
, BV_CMS
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_COMMENTS
|
||||||
|
, BV_COM
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_INS_EXPAND
|
||||||
|
, BV_CPT
|
||||||
|
, BV_DICT
|
||||||
|
, BV_TSR
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_COMPL_FUNC
|
||||||
|
, BV_CFU
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_FIND_ID
|
||||||
|
, BV_DEF
|
||||||
|
, BV_INC
|
||||||
|
#endif
|
||||||
|
, BV_EOL
|
||||||
|
, BV_EP
|
||||||
|
, BV_ET
|
||||||
|
, BV_FENC
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
, BV_FEX
|
||||||
|
#endif
|
||||||
|
, BV_FF
|
||||||
|
, BV_FLP
|
||||||
|
, BV_FO
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
, BV_FT
|
||||||
|
#endif
|
||||||
|
, BV_IMI
|
||||||
|
, BV_IMS
|
||||||
|
#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
|
||||||
|
, BV_INDE
|
||||||
|
, BV_INDK
|
||||||
|
#endif
|
||||||
|
#if defined(FEAT_FIND_ID) && defined(FEAT_EVAL)
|
||||||
|
, BV_INEX
|
||||||
|
#endif
|
||||||
|
, BV_INF
|
||||||
|
, BV_ISK
|
||||||
|
#ifdef FEAT_CRYPT
|
||||||
|
, BV_KEY
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_KEYMAP
|
||||||
|
, BV_KMAP
|
||||||
|
#endif
|
||||||
|
, BV_KP
|
||||||
|
#ifdef FEAT_LISP
|
||||||
|
, BV_LISP
|
||||||
|
#endif
|
||||||
|
, BV_MA
|
||||||
|
, BV_ML
|
||||||
|
, BV_MOD
|
||||||
|
, BV_MPS
|
||||||
|
, BV_NF
|
||||||
|
#ifdef FEAT_OSFILETYPE
|
||||||
|
, BV_OFT
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_COMPL_FUNC
|
||||||
|
, BV_OFU
|
||||||
|
#endif
|
||||||
|
, BV_PATH
|
||||||
|
, BV_PI
|
||||||
|
#ifdef FEAT_TEXTOBJ
|
||||||
|
, BV_QE
|
||||||
|
#endif
|
||||||
|
, BV_RO
|
||||||
|
#ifdef FEAT_SMARTINDENT
|
||||||
|
, BV_SI
|
||||||
|
#endif
|
||||||
|
#ifndef SHORT_FNAME
|
||||||
|
, BV_SN
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
, BV_SMC
|
||||||
|
, BV_SPC
|
||||||
|
, BV_SPF
|
||||||
|
, BV_SPL
|
||||||
|
, BV_SYN
|
||||||
|
#endif
|
||||||
|
, BV_STS
|
||||||
|
#ifdef FEAT_SEARCHPATH
|
||||||
|
, BV_SUA
|
||||||
|
#endif
|
||||||
|
, BV_SW
|
||||||
|
, BV_SWF
|
||||||
|
, BV_TAGS
|
||||||
|
, BV_TS
|
||||||
|
, BV_TW
|
||||||
|
, BV_TX
|
||||||
|
, BV_WM
|
||||||
|
, BV_COUNT /* must be the last one */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* "indir" values for window-local options.
|
||||||
|
* These need to be defined globally, so that the WV_COUNT can be used in the
|
||||||
|
* window structure.
|
||||||
|
*/
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
WV_LIST = 0
|
||||||
|
#ifdef FEAT_ARABIC
|
||||||
|
, WV_ARAB
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_DIFF
|
||||||
|
, WV_DIFF
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_FOLDING
|
||||||
|
, WV_FDC
|
||||||
|
, WV_FEN
|
||||||
|
, WV_FDI
|
||||||
|
, WV_FDL
|
||||||
|
, WV_FDM
|
||||||
|
, WV_FML
|
||||||
|
, WV_FDN
|
||||||
|
# ifdef FEAT_EVAL
|
||||||
|
, WV_FDE
|
||||||
|
, WV_FDT
|
||||||
|
# endif
|
||||||
|
, WV_FMR
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_LINEBREAK
|
||||||
|
, WV_LBR
|
||||||
|
#endif
|
||||||
|
, WV_NU
|
||||||
|
#ifdef FEAT_LINEBREAK
|
||||||
|
, WV_NUW
|
||||||
|
#endif
|
||||||
|
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
|
||||||
|
, WV_PVW
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_RIGHTLEFT
|
||||||
|
, WV_RL
|
||||||
|
, WV_RLC
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_SCROLLBIND
|
||||||
|
, WV_SCBIND
|
||||||
|
#endif
|
||||||
|
, WV_SCROLL
|
||||||
|
#ifdef FEAT_SYN_HL
|
||||||
|
, WV_SPELL
|
||||||
|
, WV_SPC
|
||||||
|
, WV_SYN
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_STL_OPT
|
||||||
|
, WV_STL
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_WINDOWS
|
||||||
|
, WV_WFH
|
||||||
|
#endif
|
||||||
|
, WV_WRAP
|
||||||
|
, WV_COUNT /* must be the last one */
|
||||||
|
};
|
||||||
|
@ -1245,7 +1245,7 @@ mch_read_filetype(file)
|
|||||||
;
|
;
|
||||||
type_string[i] = 0;
|
type_string[i] = 0;
|
||||||
|
|
||||||
set_string_option_direct("osfiletype", -1, type_string, OPT_FREE);
|
set_string_option_direct("osfiletype", -1, type_string, OPT_FREE, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
47
src/os_vms.c
47
src/os_vms.c
@ -298,33 +298,38 @@ vms_sys_status(int status)
|
|||||||
int
|
int
|
||||||
vms_read(char *inbuf, size_t nbytes)
|
vms_read(char *inbuf, size_t nbytes)
|
||||||
{
|
{
|
||||||
int status, function, len;
|
int status, function, len;
|
||||||
TT_MODE tt_mode;
|
TT_MODE tt_mode;
|
||||||
ITEM itmlst[3];
|
ITEM itmlst[2]; /* terminates on everything */
|
||||||
static long trm_mask[8] = {-1, -1, -1, -1, -1, -1, -1, -1};
|
static long trm_mask[8] = {-1, -1, -1, -1, -1, -1, -1, -1};
|
||||||
|
|
||||||
/* whatever happened earlier we need an iochan here */
|
/* whatever happened earlier we need an iochan here */
|
||||||
if (!iochan)
|
if (!iochan)
|
||||||
tt_mode = get_tty();
|
tt_mode = get_tty();
|
||||||
|
|
||||||
vul_item(&itmlst[0], 0, TRM$_MODIFIERS,
|
/* important: clean the inbuf */
|
||||||
(char *)( TRM$M_TM_ESCAPE | TRM$M_TM_TIMED | TRM$M_TM_NOECHO |
|
|
||||||
TRM$M_TM_NOEDIT | TRM$M_TM_NOFILTR |
|
|
||||||
TRM$M_TM_NORECALL| TRM$M_TM_TRMNOECHO), 0);
|
|
||||||
vul_item(&itmlst[1], 0, TRM$_TIMEOUT, (char *) 1, 0 );
|
|
||||||
vul_item(&itmlst[2], sizeof(trm_mask), TRM$_TERM, (char *)&trm_mask, 0);
|
|
||||||
|
|
||||||
function = (IO$_READLBLK | IO$M_EXTEND);
|
|
||||||
memset(inbuf, 0, nbytes);
|
memset(inbuf, 0, nbytes);
|
||||||
|
|
||||||
for (;;)
|
/* set up the itemlist for the first read */
|
||||||
{
|
vul_item(&itmlst[0], 0, TRM$_MODIFIERS,
|
||||||
status = sys$qiow(0, iochan, function, &iosb, 0, 0, inbuf, nbytes - 1,
|
(char *)( TRM$M_TM_NOECHO | TRM$M_TM_NOEDIT |
|
||||||
0, 0, &itmlst, sizeof(itmlst));
|
TRM$M_TM_NOFILTR | TRM$M_TM_TRMNOECHO |
|
||||||
len = strlen(inbuf);
|
TRM$M_TM_NORECALL) , 0);
|
||||||
if (len > 0)
|
vul_item(&itmlst[1], sizeof(trm_mask), TRM$_TERM, (char *)&trm_mask, 0);
|
||||||
break;
|
|
||||||
}
|
/* wait forever for a char */
|
||||||
|
function = (IO$_READLBLK | IO$M_EXTEND);
|
||||||
|
status = sys$qiow(0, iochan, function, &iosb, 0, 0,
|
||||||
|
inbuf, nbytes-1, 0, 0, &itmlst, sizeof(itmlst));
|
||||||
|
len = strlen(inbuf); /* how many chars we got? */
|
||||||
|
|
||||||
|
/* read immedatelly the rest in the IO queue */
|
||||||
|
function = (IO$_READLBLK | IO$M_TIMED | IO$M_ESCAPE | IO$M_NOECHO | IO$M_NOFILTR);
|
||||||
|
status = sys$qiow(0, iochan, function, &iosb, 0, 0,
|
||||||
|
inbuf+len, nbytes-1-len, 0, 0, 0, 0);
|
||||||
|
|
||||||
|
len = strlen(inbuf); /* return the total length */
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,7 +515,7 @@ vms_unix_mixed_filespec(char *in, char *out)
|
|||||||
|
|
||||||
/* start of directory portion */
|
/* start of directory portion */
|
||||||
ch = *in;
|
ch = *in;
|
||||||
if ((ch == '[') || (ch == '/') || (ch == '<') ) { /* start of directory(s) ? */
|
if ((ch == '[') || (ch == '/') || (ch == '<')) { /* start of directory(s) ? */
|
||||||
ch = '[';
|
ch = '[';
|
||||||
SKIP_FOLLOWING_SLASHES(in);
|
SKIP_FOLLOWING_SLASHES(in);
|
||||||
} else if (EQN(in, "../", 3)) { /* Unix parent directory? */
|
} else if (EQN(in, "../", 3)) { /* Unix parent directory? */
|
||||||
|
@ -18,7 +18,7 @@ void free_string_option __ARGS((char_u *p));
|
|||||||
void clear_string_option __ARGS((char_u **pp));
|
void clear_string_option __ARGS((char_u **pp));
|
||||||
void set_term_option_alloced __ARGS((char_u **p));
|
void set_term_option_alloced __ARGS((char_u **p));
|
||||||
int was_set_insecurely __ARGS((char_u *opt, int opt_flags));
|
int was_set_insecurely __ARGS((char_u *opt, int opt_flags));
|
||||||
void set_string_option_direct __ARGS((char_u *name, int opt_idx, char_u *val, int opt_flags));
|
void set_string_option_direct __ARGS((char_u *name, int opt_idx, char_u *val, int opt_flags, int set_sid));
|
||||||
char_u *check_stl_option __ARGS((char_u *s));
|
char_u *check_stl_option __ARGS((char_u *s));
|
||||||
void set_option_scriptID __ARGS((char_u *name, int id));
|
void set_option_scriptID __ARGS((char_u *name, int id));
|
||||||
int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
|
int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
|
||||||
|
@ -2846,12 +2846,7 @@ ex_cfile(eap)
|
|||||||
wp = curwin;
|
wp = curwin;
|
||||||
|
|
||||||
if (*eap->arg != NUL)
|
if (*eap->arg != NUL)
|
||||||
{
|
set_string_option_direct((char_u *)"ef", -1, eap->arg, OPT_FREE, 0);
|
||||||
set_string_option_direct((char_u *)"ef", -1, eap->arg, OPT_FREE);
|
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"ef", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function is used by the :cfile, :cgetfile and :caddfile
|
* This function is used by the :cfile, :cgetfile and :caddfile
|
||||||
|
21
src/screen.c
21
src/screen.c
@ -5469,14 +5469,9 @@ redraw_custum_statusline(wp)
|
|||||||
called_emsg = FALSE;
|
called_emsg = FALSE;
|
||||||
win_redr_custom(wp, FALSE);
|
win_redr_custom(wp, FALSE);
|
||||||
if (called_emsg)
|
if (called_emsg)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"statusline", -1,
|
set_string_option_direct((char_u *)"statusline", -1,
|
||||||
(char_u *)"", OPT_FREE | (*wp->w_p_stl != NUL
|
(char_u *)"", OPT_FREE | (*wp->w_p_stl != NUL
|
||||||
? OPT_LOCAL : OPT_GLOBAL));
|
? OPT_LOCAL : OPT_GLOBAL), SID_ERROR);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"statusline", SID_ERROR);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
called_emsg |= save_called_emsg;
|
called_emsg |= save_called_emsg;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -8610,13 +8605,8 @@ draw_tabline()
|
|||||||
called_emsg = FALSE;
|
called_emsg = FALSE;
|
||||||
win_redr_custom(NULL, FALSE);
|
win_redr_custom(NULL, FALSE);
|
||||||
if (called_emsg)
|
if (called_emsg)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"tabline", -1,
|
set_string_option_direct((char_u *)"tabline", -1,
|
||||||
(char_u *)"", OPT_FREE);
|
(char_u *)"", OPT_FREE, SID_ERROR);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"tabline", SID_ERROR);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
called_emsg |= save_called_emsg;
|
called_emsg |= save_called_emsg;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -8915,13 +8905,8 @@ win_redr_ruler(wp, always)
|
|||||||
called_emsg = FALSE;
|
called_emsg = FALSE;
|
||||||
win_redr_custom(wp, TRUE);
|
win_redr_custom(wp, TRUE);
|
||||||
if (called_emsg)
|
if (called_emsg)
|
||||||
{
|
|
||||||
set_string_option_direct((char_u *)"rulerformat", -1,
|
set_string_option_direct((char_u *)"rulerformat", -1,
|
||||||
(char_u *)"", OPT_FREE);
|
(char_u *)"", OPT_FREE, SID_ERROR);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"rulerformat", SID_ERROR);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
called_emsg |= save_called_emsg;
|
called_emsg |= save_called_emsg;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -203,6 +203,11 @@ typedef struct
|
|||||||
#endif
|
#endif
|
||||||
int wo_wrap;
|
int wo_wrap;
|
||||||
#define w_p_wrap w_onebuf_opt.wo_wrap /* 'wrap' */
|
#define w_p_wrap w_onebuf_opt.wo_wrap /* 'wrap' */
|
||||||
|
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
int wo_scriptID[WV_COUNT]; /* SIDs for window-local options */
|
||||||
|
# define w_p_scriptID w_onebuf_opt.wo_scriptID
|
||||||
|
#endif
|
||||||
} winopt_T;
|
} winopt_T;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1283,6 +1288,10 @@ struct file_buffer
|
|||||||
*/
|
*/
|
||||||
int b_p_initialized; /* set when options initialized */
|
int b_p_initialized; /* set when options initialized */
|
||||||
|
|
||||||
|
#ifdef FEAT_EVAL
|
||||||
|
int b_p_scriptID[BV_COUNT]; /* SIDs for buffer-local options */
|
||||||
|
#endif
|
||||||
|
|
||||||
int b_p_ai; /* 'autoindent' */
|
int b_p_ai; /* 'autoindent' */
|
||||||
int b_p_ai_nopaste; /* b_p_ai saved for paste mode */
|
int b_p_ai_nopaste; /* b_p_ai saved for paste mode */
|
||||||
int b_p_ci; /* 'copyindent' */
|
int b_p_ci; /* 'copyindent' */
|
||||||
|
12
src/syntax.c
12
src/syntax.c
@ -6081,6 +6081,7 @@ static char *(highlight_init_both[]) =
|
|||||||
"PmenuSbar ctermbg=Grey guibg=Grey",
|
"PmenuSbar ctermbg=Grey guibg=Grey",
|
||||||
"TabLineSel term=bold cterm=bold gui=bold",
|
"TabLineSel term=bold cterm=bold gui=bold",
|
||||||
"TabLineFill term=reverse cterm=reverse gui=reverse",
|
"TabLineFill term=reverse cterm=reverse gui=reverse",
|
||||||
|
"MatchParen term=reverse ctermbg=Cyan guibg=Cyan",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -7925,8 +7926,10 @@ highlight_list_one(id)
|
|||||||
msg_outtrans(HL_TABLE()[HL_TABLE()[id - 1].sg_link - 1].sg_name);
|
msg_outtrans(HL_TABLE()[HL_TABLE()[id - 1].sg_link - 1].sg_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!didh)
|
||||||
|
highlight_list_arg(id, didh, LIST_STRING, 0, (char_u *)"cleared", "");
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
if (didh && p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
last_set_msg(sgp->sg_scriptID);
|
last_set_msg(sgp->sg_scriptID);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -7973,8 +7976,11 @@ highlight_list_arg(id, didh, type, iarg, sarg, name)
|
|||||||
didh = TRUE;
|
didh = TRUE;
|
||||||
if (!got_int)
|
if (!got_int)
|
||||||
{
|
{
|
||||||
MSG_PUTS_ATTR(name, hl_attr(HLF_D));
|
if (*name != NUL)
|
||||||
MSG_PUTS_ATTR("=", hl_attr(HLF_D));
|
{
|
||||||
|
MSG_PUTS_ATTR(name, hl_attr(HLF_D));
|
||||||
|
MSG_PUTS_ATTR("=", hl_attr(HLF_D));
|
||||||
|
}
|
||||||
msg_outtrans(ts);
|
msg_outtrans(ts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
13
src/term.c
13
src/term.c
@ -1561,10 +1561,7 @@ set_color_count(nr)
|
|||||||
sprintf((char *)nr_colors, "%d", t_colors);
|
sprintf((char *)nr_colors, "%d", t_colors);
|
||||||
else
|
else
|
||||||
*nr_colors = NUL;
|
*nr_colors = NUL;
|
||||||
set_string_option_direct((char_u *)"t_Co", -1, nr_colors, OPT_FREE);
|
set_string_option_direct((char_u *)"t_Co", -1, nr_colors, OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"t_Co", current_SID);
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1825,7 +1822,8 @@ set_termname(term)
|
|||||||
out_flush();
|
out_flush();
|
||||||
ui_delay(2000L, TRUE);
|
ui_delay(2000L, TRUE);
|
||||||
}
|
}
|
||||||
set_string_option_direct((char_u *)"term", -1, term, OPT_FREE);
|
set_string_option_direct((char_u *)"term", -1, term,
|
||||||
|
OPT_FREE, 0);
|
||||||
display_errors();
|
display_errors();
|
||||||
}
|
}
|
||||||
out_flush();
|
out_flush();
|
||||||
@ -2503,10 +2501,7 @@ termcapinit(name)
|
|||||||
#endif
|
#endif
|
||||||
if (term == NULL || *term == NUL)
|
if (term == NULL || *term == NUL)
|
||||||
term = DEFAULT_TERM;
|
term = DEFAULT_TERM;
|
||||||
set_string_option_direct((char_u *)"term", -1, term, OPT_FREE);
|
set_string_option_direct((char_u *)"term", -1, term, OPT_FREE, 0);
|
||||||
# ifdef FEAT_EVAL
|
|
||||||
set_option_scriptID((char_u *)"term", current_SID);
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Set the default terminal name. */
|
/* Set the default terminal name. */
|
||||||
set_string_default("term", term);
|
set_string_default("term", term);
|
||||||
|
@ -2,14 +2,19 @@
|
|||||||
|
|
||||||
NewGroup xxx term=bold cterm=italic ctermfg=2 ctermbg=3
|
NewGroup xxx term=bold cterm=italic ctermfg=2 ctermbg=3
|
||||||
|
|
||||||
|
Group2 xxx cleared
|
||||||
|
|
||||||
Group3 xxx term=underline cterm=bold
|
Group3 xxx term=underline cterm=bold
|
||||||
|
|
||||||
|
|
||||||
|
NewGroup xxx cleared
|
||||||
|
|
||||||
|
Group2 xxx cleared
|
||||||
|
|
||||||
|
|
||||||
|
Group2 xxx cleared
|
||||||
|
|
||||||
|
|
||||||
|
Group3 xxx cleared
|
||||||
|
|
||||||
E475: term='asdf
|
E475: term='asdf
|
||||||
|
@ -36,5 +36,5 @@
|
|||||||
#define VIM_VERSION_NODOT "vim70aa"
|
#define VIM_VERSION_NODOT "vim70aa"
|
||||||
#define VIM_VERSION_SHORT "7.0aa"
|
#define VIM_VERSION_SHORT "7.0aa"
|
||||||
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
|
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
|
||||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 26)"
|
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 27)"
|
||||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 26, compiled "
|
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 27, compiled "
|
||||||
|
@ -1036,6 +1036,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
|
|||||||
#define SID_CARG -3 /* for "-c" argument */
|
#define SID_CARG -3 /* for "-c" argument */
|
||||||
#define SID_ENV -4 /* for sourcing environment variable */
|
#define SID_ENV -4 /* for sourcing environment variable */
|
||||||
#define SID_ERROR -5 /* option was reset because of an error */
|
#define SID_ERROR -5 /* option was reset because of an error */
|
||||||
|
#define SID_NONE -6 /* don't set scriptID */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Events for autocommands.
|
* Events for autocommands.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user