updated for version 7.0009

This commit is contained in:
Bram Moolenaar
2004-07-16 20:18:37 +00:00
parent 2df6dcc596
commit 21cf823a90
17 changed files with 889 additions and 629 deletions

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.0aa. Last change: 2004 Jul 01
*cmdline.txt* For Vim version 7.0aa. Last change: 2004 Jul 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -164,6 +164,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
'path' as in |gf|
CTRL-W the Word under the cursor
CTRL-A the WORD under the cursor; see |WORD|
When 'incsearch' is set the cursor position of the currently
displayed match is used.
{not in Vi}
CTRL-F and CTRL-P: {only when +file_in_path feature is
included}

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 05
*options.txt* For Vim version 7.0aa. Last change: 2004 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1104,6 +1104,9 @@ A jump table for the options with a short description can be found at |Q_op|.
nofile buffer which is not related to a file and will not be
written
nowrite buffer which will not be written
acwrite buffer which will always be written with BufWriteCmd
autocommands. {not available when compiled without the
|+autocmd| feature}
quickfix quickfix buffer, contains list of errors |:cwindow|
help help buffer (you are not supposed to set this
manually)
@ -1128,6 +1131,12 @@ A jump table for the options with a short description can be found at |Q_op|.
nofile only: The buffer name is fixed, it is not handled like a
file name. It is not modified in response to a |:cd|
command.
*E676*
"acwrite" implies that the buffer name is not related to a file, like
"nofile", but it will be written. Thus, in contrast to "nofile" and
"nowrite", ":w" does work and a modified buffer can't be abandoned
without saving. For writing there must be matching |BufWriteCmd|,
|FileWriteCmd| or |FileAppendCmd| autocommands.
*'casemap'* *'cmp'*
'casemap' 'cmp' string (default: "internal,keepascii")
@ -3422,14 +3431,16 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{not available when compiled without the
|+extra_search| feature}
While typing a search command, show immediately where the so far
typed pattern matches. The matched string is highlighted. If the
pattern is invalid or not found, nothing is shown. The screen will
be updated often, this is only useful on fast terminals. Note that
the match will be shown, but the cursor is not actually positioned
there. You still need to finish the search command with <CR> to move
the cursor. The highlighting can be set with the 'i' flag in
'highlight'. See also: 'hlsearch'.
While typing a search command, show where the pattern, as it was typed
so far, matches. The matched string is highlighted. If the pattern
is invalid or not found, nothing is shown. The screen will be updated
often, this is only useful on fast terminals.
Note that the match will be shown, but the cursor will return to its
original position when no match is found and when pressing <Esc>. You
still need to finish the search command with <Enter> to move the
cursor to the match.
The highlighting can be set with the 'i' flag in 'highlight'.
See also: 'hlsearch'.
NOTE: This option is reset when 'compatible' is set.
*'indentexpr'* *'inde'*

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.0aa. Last change: 2004 Jun 18
*starting.txt* For Vim version 7.0aa. Last change: 2004 Jul 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -746,7 +746,7 @@ accordingly. Vim proceeds in this order:
"home:.vimrc" (for Amiga) (*)
"$VIM/.vimrc" (for OS/2 and Amiga) (*)
"$HOME/_vimrc" (for MS-DOS and Win32) (*)
"$VIM\_vimrc" (for MS-DOS and Win32) (*)
"$VIM/_vimrc" (for MS-DOS and Win32) (*)
Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
"_vimrc" is also tried, in case an MS-DOS compatible file
system is used. For MS-DOS and Win32 ".vimrc" is checked

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jul 06
*syntax.txt* For Vim version 7.0aa. Last change: 2004 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -2089,6 +2089,14 @@ This will prevent highlighting of special identifiers like "ConstantName",
"$global_var", "@instance_var", "| iterator |", and ":symbol".
SCHEME *scheme.vim* *scheme-syntax*
By default only R5RS keywords are highlighted and properly indented.
MzScheme-specific stuff will be used if b:is_mzscheme or g:is_mzscheme
variables are defined.
SDL *sdl.vim* *sdl-syntax*
The SDL highlighting probably misses a few keywords, but SDL has so many

View File

@ -1813,6 +1813,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:di change.txt /*:di*
:diffg diff.txt /*:diffg*
:diffget diff.txt /*:diffget*
:diffo diff.txt /*:diffo*
:diffoff diff.txt /*:diffoff*
:diffp diff.txt /*:diffp*
:diffpatch diff.txt /*:diffpatch*
:diffpu diff.txt /*:diffpu*
@ -3527,6 +3529,7 @@ E672 starting.txt /*E672*
E673 print.txt /*E673*
E674 print.txt /*E674*
E675 print.txt /*E675*
E676 options.txt /*E676*
E68 pattern.txt /*E68*
E69 pattern.txt /*E69*
E70 pattern.txt /*E70*
@ -5424,8 +5427,12 @@ netbeans.txt netbeans.txt /*netbeans.txt*
netrw pi_netrw.txt /*netrw*
netrw-- pi_netrw.txt /*netrw--*
netrw-D pi_netrw.txt /*netrw-D*
netrw-H pi_netrw.txt /*netrw-H*
netrw-M pi_netrw.txt /*netrw-M*
netrw-R pi_netrw.txt /*netrw-R*
netrw-activate pi_netrw.txt /*netrw-activate*
netrw-browse pi_netrw.txt /*netrw-browse*
netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds*
netrw-browse-var pi_netrw.txt /*netrw-browse-var*
netrw-c-l pi_netrw.txt /*netrw-c-l*
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
@ -5439,9 +5446,9 @@ netrw-ex pi_netrw.txt /*netrw-ex*
netrw-file pi_netrw.txt /*netrw-file*
netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-h pi_netrw.txt /*netrw-h*
netrw-help pi_netrw.txt /*netrw-help*
netrw-history pi_netrw.txt /*netrw-history*
netrw-i pi_netrw.txt /*netrw-i*
netrw-list pi_netrw.txt /*netrw-list*
netrw-list-hack pi_netrw.txt /*netrw-list-hack*
netrw-move pi_netrw.txt /*netrw-move*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 12
*todo.txt* For Vim version 7.0aa. Last change: 2004 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,13 +30,15 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Make aap build script work again. Also with mzscheme
When switching between Aap script and make Vim won't always run.
Mac: Compiling --enable-gui=athena doesn't work. Try to fix without disabling
Carbon. Otherwise adjust configure to disable darwin. (raf)
Carbon. Otherwise adjust configure to disable Darwin. (raf)
Mac: "make install" doesn't install.
Mac: "make install" doesn't install. Patch from RAF.
UTF-8 in 'comments' causes wrong indent. Counting bytes instead of char
width? (Nikolai Weibull)
For version 7.0:
- Include many PATCHES:
@ -282,6 +284,9 @@ For version 7.0:
line.
7 Make ":startinsert" command work directly for functions and scripts?
Also make it possible to append (it's difficult at end of line).
- When using 'incsearch" CTRL-R CTRL-W gets the word under the cursor, but
the part that already matched is doubled then. Remove the part of the
word that would be doubled. Make it work line CTRL-N in Insert mode.
Vi incompatibility:
8 With undo/redo only marks in the changed lines should be changed. Other
@ -1995,6 +2000,8 @@ Autocommands:
CmdEnter - Entering Cmdline mode
VisualEnter - Entering Visual mode
*Leave - Leaving a mode (in pair with the above *Enter)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
CmdUndefined - Like FuncUndefined but for user commands.
SearchPost - After doing a search command (e.g. to do "M")
PreDirChanged/PostDirChanged

View File

@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 11
*version7.txt* For Vim version 7.0aa. Last change: 2004 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -170,6 +170,10 @@ it. (Johannes Zellner)
Added "nbsp" in 'listchars'. (David Blanchet)
Added the "acwrite" value for the 'buftype' option. This is for a buffer that
doesn not have a name that refers to a file and is written with BufWriteCmd
autocommands.
For lisp indenting and matching parenthesis: (Sergey Khorev)
- square brackets are recognized properly
- #\(, #\), #\[ and #\] are recognized as character literals
@ -241,4 +245,14 @@ ignored. ":echo '-05' + 0" resulted in 5 instead of -5.
Using "@:" to repeat a command line didn't work when it contains control
characters.
When using file completion for a user command, it would not expand environment
variables like for a regular command with a file argument.
'cindent': When the argument of a #define looks like a C++ class the next line
is indented too much.
When 'comments' includes multi-byte characters inserting the middle part and
alignment may go wrong. 'cindent' also suffers from this for right-aligned
items.
vim:tw=78:ts=8:ft=help:norl:

View File

@ -1,10 +1,9 @@
" Vim syntax file for the D programming language (version 0.90).
" Vim syntax file for the D programming language (version 0.95).
"
" Language: D
" Maintainer: Jason Mills<jmills@cs.mun.ca>
" URL:
" Last Change: 2004 May 21
" Version: 0.8
" Language: D
" Maintainer: Jason Mills<jmills@cs.mun.ca>
" Last Change: 2004 Jul 15
" Version: 0.10
"
" Options:
" d_comment_strings - set to highlight strings and numbers in comments
@ -30,39 +29,40 @@ endif
" Keyword definitions
"
syn keyword dExternal import module extern
syn keyword dConditional if else switch
syn keyword dBranch goto break continue
syn keyword dRepeat while for do foreach
syn keyword dBoolean true false
syn keyword dConstant null
syn keyword dTypedef alias typedef
syn keyword dStructure template interface class enum struct union
syn keyword dOperator new delete typeof cast align is
syn keyword dOperator this super
syn keyword dExternal import package module extern
syn keyword dConditional if else switch
syn keyword dBranch goto break continue
syn keyword dRepeat while for do foreach
syn keyword dBoolean true false
syn keyword dConstant null
syn keyword dTypedef alias typedef
syn keyword dStructure template interface class enum struct union
syn keyword dOperator new delete typeof typeid cast align is
syn keyword dOperator this super
if exists("d_hl_operator_overload")
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opAdd opSub opSub_r
syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
syn keyword dOpOverload opCat_r opEquals opEquals opCmp opCmp opCmp opCmp
syn keyword dOpOverload opAddAssign opSubAssign opMulAssign opDivAssign
syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
syn keyword dOpOverload opIndex opCall opSlice
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opAdd opSub opSub_r
syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
syn keyword dOpOverload opCat_r opEquals opEquals opCmp opCmp opCmp opCmp
syn keyword dOpOverload opAddAssign opSubAssign opMulAssign opDivAssign
syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
syn keyword dOpOverload opIndex opIndexAssign opCall opSlice
syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r
endif
syn keyword dType ushort int uint long ulong float
syn keyword dType void byte ubyte double bit char wchar ucent cent
syn keyword dType short bool dchar
syn keyword dType real ireal ifloat idouble creal cfloat cdouble
syn keyword dDebug deprecated unittest
syn keyword dExceptions throw try catch finally
syn keyword dScopeDecl public protected private export
syn keyword dStatement version debug return with invariant body
syn keyword dStatement in out inout asm mixin
syn keyword dStatement function delegate
syn keyword dStorageClass auto static override final const abstract volatile
syn keyword dStorageClass synchronized
syn keyword dPragma pragma
syn keyword dType ushort int uint long ulong float
syn keyword dType void byte ubyte double bit char wchar ucent cent
syn keyword dType short bool dchar
syn keyword dType real ireal ifloat idouble creal cfloat cdouble
syn keyword dDebug deprecated unittest
syn keyword dExceptions throw try catch finally
syn keyword dScopeDecl public protected private export
syn keyword dStatement version debug return with invariant body
syn keyword dStatement in out inout asm mixin
syn keyword dStatement function delegate
syn keyword dStorageClass auto static override final const abstract volatile
syn keyword dStorageClass synchronized
syn keyword dPragma pragma
" Assert is a statement and a module name.
@ -81,34 +81,34 @@ syn match dAssert "[^.]\s*\<assert\>"ms=s+1
" Labels
"
" We contain dScopeDecl so public: private: etc. are not highlighted like labels
syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl
syn keyword dLabel case default
syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl
syn keyword dLabel case default
" Comments
"
syn keyword dTodo contained TODO FIXME TEMP XXX
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
syn match dCommentStar contained "^\s*\*$"
syn match dCommentPlus contained "^\s*+[^/]"me=e-1
syn match dCommentPlus contained "^\s*+$"
syn keyword dTodo contained TODO FIXME TEMP XXX
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
syn match dCommentStar contained "^\s*\*$"
syn match dCommentPlus contained "^\s*+[^/]"me=e-1
syn match dCommentPlus contained "^\s*+$"
if exists("d_comment_strings")
syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
else
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
endif
hi link dLineCommentString dBlockCommentString
hi link dBlockCommentString dString
hi link dNestedCommentString dString
hi link dCommentStar dBlockComment
hi link dCommentPlus dNestedComment
hi link dLineCommentString dBlockCommentString
hi link dBlockCommentString dString
hi link dNestedCommentString dString
hi link dCommentStar dBlockComment
hi link dCommentPlus dNestedComment
syn sync minlines=25
@ -118,54 +118,54 @@ syn match dSpecialCharError contained "[^']"
" Escape sequences (oct,specal char,hex,wchar). These are not contained
" because they are considered string litterals
syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)"
syn match dCharacter "'[^']*'" contains=dEscSequence,dSpecialCharError
syn match dCharacter "'\\''" contains=dEscSequence
syn match dCharacter "'[^\\]'"
syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)"
syn match dCharacter "'[^']*'" contains=dEscSequence,dSpecialCharError
syn match dCharacter "'\\''" contains=dEscSequence
syn match dCharacter "'[^\\]'"
" Unicode characters
"
syn match dUnicode "\\u\d\{4\}"
syn match dUnicode "\\u\d\{4\}"
" String.
"
syn region dString start=+"+ end=+"+ contains=dEscSequence,@Spell
syn region dRawString start=+`+ skip=+\\`+ end=+`+ contains=@Spell
syn region dRawString start=+r"+ skip=+\\"+ end=+"+ contains=@Spell
syn region dHexString start=+x"+ skip=+\\"+ end=+"+
syn region dString start=+"+ end=+"+ contains=dEscSequence,@Spell
syn region dRawString start=+`+ skip=+\\`+ end=+`+ contains=@Spell
syn region dRawString start=+r"+ skip=+\\"+ end=+"+ contains=@Spell
syn region dHexString start=+x"+ skip=+\\"+ end=+"+
" Numbers
"
syn case ignore
syn match dInt display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>"
syn match dInt display "\<\d[0-9_]*\(u\=l\=\|l\=u\=\)\>"
" Hex number
syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>"
syn match dHex display "\<\x[0-9a-f_]*h\(u\=l\=\|l\=u\=\)\>"
syn match dHex display "\<0x[0-9a-f_]\+\(u\=l\=\|l\=u\=\)\>"
syn match dHex display "\<\x[0-9a-f_]*h\(u\=l\=\|l\=u\=\)\>"
" Flag the first zero of an octal number as something special
syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" contains=cOctalZero
syn match dOctalZero display contained "\<0"
syn match dOctal display "\<0[0-7_]\+\(u\=l\=\|l\=u\=\)\>" contains=cOctalZero
syn match dOctalZero display contained "\<0"
"floating point without the dot
syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>"
syn match dFloat display "\<\d[0-9_]*\(fi\=\|l\=i\)\>"
"floating point number, with dot, optional exponent
syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\="
syn match dFloat display "\<\d[0-9_]*\.[0-9_]*\(e[-+]\=[0-9_]\+\)\=[fl]\=i\="
"floating point number, starting with a dot, optional exponent
syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>"
syn match dFloat display "\(\.[0-9_]\+\)\(e[-+]\=[0-9_]\+\)\=[fl]\=i\=\>"
"floating point number, without dot, with exponent
"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>"
syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>"
"syn match dFloat display "\<\d\+e[-+]\=\d\+[fl]\=\>"
syn match dFloat display "\<\d[0-9_]*e[-+]\=[0-9_]\+[fl]\=\>"
"floating point without the dot
syn match dHexFloat display "\<0x\x\+\(fi\=\|l\=i\)\>"
syn match dHexFloat display "\<0x\x\+\(fi\=\|l\=i\)\>"
"floating point number, with dot, optional exponent
syn match dHexFloat display "\<0x\x\+\.\x*\(p[-+]\=\x\+\)\=[fl]\=i\="
syn match dHexFloat display "\<0x\x\+\.\x*\(p[-+]\=\x\+\)\=[fl]\=i\="
"floating point number, without dot, with exponent
syn match dHexFloat display "\<0x\x\+p[-+]\=\x\+[fl]\=\>"
syn match dHexFloat display "\<0x\x\+p[-+]\=\x\+[fl]\=\>"
" binary numbers
syn match dBinary display "\<0b[01_]\+\>"
syn match dBinary display "\<0b[01_]\+\>"
" flag an octal number with wrong digits
syn match dOctalError display "0\o*[89]\d*"
syn match dOctalError display "0\o*[89]\d*"
syn case match
" Pragma (preprocessor) support

View File

@ -1,7 +1,8 @@
" Vim syntax file
" Language: Inno Setup File (iss file) and My InnoSetup extension
" Maintainer: Dominique St<53>phan (dominique@mggen.com)
" Last change: 2004 July 5
" Language: Inno Setup File (iss file) and My InnoSetup extension
" Maintainer: Jason Mills (jmills@cs.mun.ca)
" Previous Maintainer: Dominique St<53>phan (dominique@mggen.com)
" Last Change: 2004 Jul 13
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@ -14,37 +15,40 @@ endif
" shut case off
syn case ignore
" Preprocessor
syn region issPreProc start="^\s*#" end="$"
" Section
syn region issHeader start="\[" end="\]"
syn region issHeader start="\[" end="\]"
" Label in the [Setup] Section
syn match issLabel "^[^=]\+="
syn match issLabel "^[^=]\+="
" URL
syn match issURL "http[s]\=:\/\/.*$"
syn match issURL "http[s]\=:\/\/.*$"
" syn match issName "[^: ]\+:"
syn match issName "Name:"
syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:"
syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:"
syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:"
syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:"
syn match issName "IconFilename:\|IconIndex:"
syn match issName "Section:\|Key:\|String:"
syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:"
syn match issName "RunOnceId:"
syn match issName "Type:"
syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:"
syn match issName "StatusMsg:\|RunOnceId:\|Tasks:"
syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
" syn match issName "[^: ]\+:"
syn match issName "Name:"
syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:"
syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:"
syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:"
syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:"
syn match issName "IconFilename:\|IconIndex:"
syn match issName "Section:\|Key:\|String:"
syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:"
syn match issName "RunOnceId:"
syn match issName "Type:"
syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:"
syn match issName "StatusMsg:\|RunOnceId:\|Tasks:"
syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
syn match issComment "^;.*$"
syn match issComment "^;.*$"
" folder constant
syn match issFolder "{[^{]*}"
syn match issFolder "{[^{]*}"
" string
syn region issString start=+"+ end=+"+ contains=issFolder
syn region issString start=+"+ end=+"+ contains=issFolder
" [Dirs]
syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall
@ -104,31 +108,30 @@ if version >= 508 || !exists("did_iss_syntax_inits")
endif
" The default methods for highlighting. Can be overridden later
HiLink issHeader Special
HiLink issComment Comment
HiLink issLabel Type
HiLink issName Type
HiLink issFolder Special
HiLink issString String
HiLink issValue String
HiLink issURL Include
HiLink issDirsFlags Keyword
HiLink issFilesCopyMode Keyword
HiLink issFilesAttribs Keyword
HiLink issFilesPermissions Keyword
HiLink issFilesFlags Keyword
HiLink issIconsFlags Keyword
HiLink issINIFlags Keyword
HiLink issRegRootKey Keyword
HiLink issRegValueType Keyword
HiLink issRegFlags Keyword
HiLink issRunFlags Keyword
HiLink issTypesFlags Keyword
HiLink issComponentsFlags Keyword
HiLink issInstallDeleteType Keyword
HiLink issTasksFlags Keyword
HiLink issHeader Special
HiLink issComment Comment
HiLink issLabel Type
HiLink issName Type
HiLink issFolder Special
HiLink issString String
HiLink issValue String
HiLink issURL Include
HiLink issPreProc PreProc
HiLink issDirsFlags Keyword
HiLink issFilesCopyMode Keyword
HiLink issFilesAttribs Keyword
HiLink issFilesFlags Keyword
HiLink issIconsFlags Keyword
HiLink issINIFlags Keyword
HiLink issRegRootKey Keyword
HiLink issRegValueType Keyword
HiLink issRegFlags Keyword
HiLink issRunFlags Keyword
HiLink issTypesFlags Keyword
HiLink issComponentsFlags Keyword
HiLink issInstallDeleteType Keyword
HiLink issTasksFlags Keyword
delcommand HiLink
endif

View File

@ -1,11 +1,14 @@
" Vim syntax file
" Language: Scheme (R5RS)
" Maintainer: Dirk van Deun <dirk@igwe.vub.ac.be>
" Last Change: April 30, 1998
" Last Change: July 14, 2004
" Maintainer: Sergey Khorev <iamphet@nm.ru>
" Original author: Dirk van Deun <dirk@igwe.vub.ac.be>
" This script incorrectly recognizes some junk input as numerals:
" parsing the complete system of Scheme numerals using the pattern
" language is practically impossible: I did a lax approximation.
" MzScheme extensions can be activated with setting is_mzscheme variable
" Suggestions and bug reports are solicited by the author.
@ -23,12 +26,12 @@ syn case ignore
" Fascist highlighting: everything that doesn't fit the rules is an error...
syn match schemeError oneline ![^ \t()";]*!
syn match schemeError oneline ![^ \t()\[\]";]*!
syn match schemeError oneline ")"
" Quoted and backquoted stuff
syn region schemeQuoted matchgroup=Delimiter start="['`]" end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeQuoted matchgroup=Delimiter start="['`]" end=![ \t()\[\]";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeQuoted matchgroup=Delimiter start="['`](" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeQuoted matchgroup=Delimiter start="['`]#(" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
@ -36,15 +39,26 @@ syn region schemeQuoted matchgroup=Delimiter start="['`]#(" matchgroup=Delimiter
syn region schemeStrucRestricted matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeStrucRestricted matchgroup=Delimiter start="#(" matchgroup=Delimiter end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start="," end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",@" end=![ \t()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
" Popular Scheme extension:
" using [] as well as ()
syn region schemeStrucRestricted matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeStrucRestricted matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start="," end=![ \t\[\]()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",@" end=![ \t\[\]()";]!me=e-1 contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",(" end=")" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start=",#(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",@#(" end=")" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",\[" end="\]" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start=",@\[" end="\]" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start=",#\[" end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
syn region schemeUnquote matchgroup=Delimiter start=",@#\[" end="\]" contains=ALLBUT,schemeStruc,schemeSyntax,schemeFunc
" R5RS Scheme Functions and Syntax:
if version < 600
@ -96,63 +110,126 @@ syn keyword schemeFunc dynamic-wind port? values call-with-values
syn keyword schemeFunc scheme-report-environment null-environment
syn keyword schemeFunc interaction-environment
" Writing out the complete description of Scheme numerals without
" using variables is a day's work for a trained secretary...
" This is a useful lax approximation:
syn match schemeNumber oneline "[-#+0-9.][-#+/0-9a-f@i.boxesfdl]*"
syn match schemeError oneline ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t()";][^ \t()";]*!
syn match schemeOther oneline ![+-][ \t()";]!me=e-1
syn match schemeOther oneline ![+-]$!
" ... so that a single + or -, inside a quoted context, would not be
" interpreted as a number (outside such contexts, it's a schemeFunc)
syn match schemeDelimiter oneline !\.[ \t()";]!me=e-1
syn match schemeDelimiter oneline !\.[ \t\[\]()";]!me=e-1
syn match schemeDelimiter oneline !\.$!
" ... and a single dot is not a number but a delimiter
" Simple literals:
syn match schemeBoolean oneline "#[tf]"
syn match schemeError oneline !#[tf][^ \t()";]\+!
syn match schemeChar oneline "#\\"
syn match schemeChar oneline "#\\."
syn match schemeError oneline !#\\.[^ \t()";]\+!
syn match schemeChar oneline "#\\space"
syn match schemeError oneline !#\\space[^ \t()";]\+!
syn match schemeChar oneline "#\\newline"
syn match schemeError oneline !#\\newline[^ \t()";]\+!
" This keeps all other stuff unhighlighted, except *stuff* and <stuff>:
syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*,
syn match schemeError oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*,
syn match schemeOther oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*,
syn match schemeError oneline ,[a-z!$%&*/:<=>?^_~+@#%-][-a-z!$%&*/:<=>?^_~0-9+.@#%]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
syn match schemeOther oneline "\.\.\."
syn match schemeError oneline !\.\.\.[^ \t()";]\+!
syn match schemeError oneline !\.\.\.[^ \t\[\]()";]\+!
" ... a special identifier
syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t()";],me=e-1
syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t\[\]()";],me=e-1
syn match schemeConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*$,
syn match schemeError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*,
syn match schemeError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t()";],me=e-1
syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t\[\]()";],me=e-1
syn match schemeConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$,
syn match schemeError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*,
syn match schemeError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t\[\]()";]\+[^ \t\[\]()";]*,
" Non-quoted lists, and strings:
syn region schemeStruc matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALL
syn region schemeStruc matchgroup=Delimiter start="#(" matchgroup=Delimiter end=")" contains=ALL
syn region schemeStruc matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=ALL
syn region schemeStruc matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALL
" Simple literals:
syn region schemeString start=+"+ skip=+\\[\\"]+ end=+"+
" Comments:
syn match schemeComment ";.*$"
" Writing out the complete description of Scheme numerals without
" using variables is a day's work for a trained secretary...
syn match schemeOther oneline ![+-][ \t\[\]()";]!me=e-1
syn match schemeOther oneline ![+-]$!
"
" This is a useful lax approximation:
syn match schemeNumber oneline "[-#+0-9.][-#+/0-9a-f@i.boxesfdl]*"
syn match schemeError oneline ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t\[\]()";][^ \t\[\]()";]*!
syn match schemeBoolean oneline "#[tf]"
syn match schemeError oneline !#[tf][^ \t\[\]()";]\+!
syn match schemeChar oneline "#\\"
syn match schemeChar oneline "#\\."
syn match schemeError oneline !#\\.[^ \t\[\]()";]\+!
syn match schemeChar oneline "#\\space"
syn match schemeError oneline !#\\space[^ \t\[\]()";]\+!
syn match schemeChar oneline "#\\newline"
syn match schemeError oneline !#\\newline[^ \t\[\]()";]\+!
if exists("b:is_mzscheme") || exists("is_mzscheme")
" MzScheme extensions added by Sergey Khorev
" multiline comment
syntax region schemeMultilineComment start=/#|/ end=/|#/
" #%xxx are the special MzScheme identifiers
syn match schemeOther oneline "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
" anything limited by |'s is identifier
syn match schemeOther oneline "|[^|]\+|"
syn match schemeChar oneline "#\\return"
" Modules require stmt
syn keyword schemeExtSyntax module require dynamic-require lib prefix all-except prefix-all-except rename
" modules provide stmt
syn keyword schemeExtSyntax provide struct all-from all-from-except all-defined all-defined-except
" Other from MzScheme
syn keyword schemeExtSyntax with-handlers when unless instantiate define-struct case-lambda syntax-case
syn keyword schemeExtSyntax free-identifier=? bound-identifier=? module-identifier=? syntax-object->datum
syn keyword schemeExtSyntax datum->syntax-object
syn keyword schemeExtSyntax let-values let*-values letrec-values set!-values fluid-let parameterize begin0
syn keyword schemeExtSyntax error raise opt-lambda define-values unit unit/sig define-signature
syn keyword schemeExtSyntax invoke-unit/sig define-values/invoke-unit/sig compound-unit/sig import export
syn keyword schemeExtSyntax link syntax quasisyntax unsyntax with-syntax
hi def link schemeExtSyntax Type
syn keyword schemeExtFunc format system-type current-extension-compiler current-extension-linker
syn keyword schemeExtFunc use-standard-linker use-standard-compiler
syn keyword schemeExtFunc find-executable-path append-object-suffix append-extension-suffix
syn keyword schemeExtFunc current-library-collection-paths current-extension-compiler-flags make-parameter
syn keyword schemeExtFunc current-directory build-path normalize-path current-extension-linker-flags
syn keyword schemeExtFunc file-exists? directory-exists? delete-directory/files delete-directory delete-file
syn keyword schemeExtFunc system compile-file system-library-subpath getenv putenv current-standard-link-libraries
syn keyword schemeExtFunc remove* file-size find-files fold-files directory-list shell-execute split-path
syn keyword schemeExtFunc current-error-port process/ports process printf fprintf open-input-string open-output-string
syn keyword schemeExtFunc get-output-string
" exceptions
syn keyword schemeExtFunc exn exn:application:arity exn:application:continuation exn:application:fprintf:mismatch
syn keyword schemeExtFunc exn:application:mismatch exn:application:type exn:application:mismatch exn:break exn:i/o:filesystem exn:i/o:port
syn keyword schemeExtFunc exn:i/o:port:closed exn:i/o:tcp exn:i/o:udp exn:misc exn:misc:application exn:misc:unsupported exn:module exn:read
syn keyword schemeExtFunc exn:read:non-char exn:special-comment exn:syntax exn:thread exn:user exn:variable exn:application:mismatch
syn keyword schemeExtFunc exn? exn:application:arity? exn:application:continuation? exn:application:fprintf:mismatch? exn:application:mismatch?
syn keyword schemeExtFunc exn:application:type? exn:application:mismatch? exn:break? exn:i/o:filesystem? exn:i/o:port? exn:i/o:port:closed?
syn keyword schemeExtFunc exn:i/o:tcp? exn:i/o:udp? exn:misc? exn:misc:application? exn:misc:unsupported? exn:module? exn:read? exn:read:non-char?
syn keyword schemeExtFunc exn:special-comment? exn:syntax? exn:thread? exn:user? exn:variable? exn:application:mismatch?
" Command-line parsing
syn keyword schemeExtFunc command-line current-command-line-arguments once-any help-labels multi once-each
hi def link schemeExtFunc PreProc
" syntax quoting, unquoting and quasiquotation
syn region schemeUnquote matchgroup=Delimiter start="#," end=![ \t\[\]()";]!me=e-1 contains=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,@" end=![ \t\[\]()";]!me=e-1 contains=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,(" end=")" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,@(" end=")" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,\[" end="\]" contains=ALL
syn region schemeUnquote matchgroup=Delimiter start="#,@\[" end="\]" contains=ALL
syn region schemeQuoted matchgroup=Delimiter start="#['`]" end=![ \t()\[\]";]!me=e-1 contains=ALL
syn region schemeQuoted matchgroup=Delimiter start="#['`](" matchgroup=Delimiter end=")" contains=ALL
endif
" Synchronization and the wrapping up...
syn sync match matchPlace grouphere NONE "^[^ \t]"
@ -181,6 +258,7 @@ if version >= 508 || !exists("did_scheme_syntax_inits")
HiLink schemeConstant Constant
HiLink schemeComment Comment
HiLink schemeMultilineComment Comment
HiLink schemeError Error
delcommand HiLink

863
src/auto/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -364,6 +364,9 @@ if test "$enable_mzschemeinterp" = "yes"; then
dnl Make Vim remember the path to the library. For when it's not in
dnl $LD_LIBRARY_PATH.
MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
elif test "`(uname) 2>/dev/null`" = SunOS &&
uname -r | grep '^5' >/dev/null; then
MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
fi
fi
MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include \

View File

@ -3205,6 +3205,11 @@ set_one_cmd_context(xp, buff)
{
xp->xp_context = EXPAND_ENV_VARS;
++xp->xp_pattern;
#if defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)
/* Avoid that the assignment uses EXPAND_FILES again. */
if (compl != EXPAND_USER_DEFINED)
compl = EXPAND_ENV_VARS;
#endif
}
}
}

View File

@ -2720,6 +2720,7 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
int buf_fname_f = FALSE;
int buf_fname_s = FALSE;
int did_cmd = FALSE;
int nofile_err = FALSE;
/*
* Apply PRE aucocommands.
@ -2742,8 +2743,13 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
{
if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEAPPENDCMD,
sfname, sfname, FALSE, curbuf, eap)))
apply_autocmds_exarg(EVENT_FILEAPPENDPRE,
{
if (bt_nofile(curbuf))
nofile_err = TRUE;
else
apply_autocmds_exarg(EVENT_FILEAPPENDPRE,
sfname, sfname, FALSE, curbuf, eap);
}
}
else if (filtering)
{
@ -2754,15 +2760,25 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
{
if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
sfname, sfname, FALSE, curbuf, eap)))
apply_autocmds_exarg(EVENT_BUFWRITEPRE,
{
if (bt_nofile(curbuf))
nofile_err = TRUE;
else
apply_autocmds_exarg(EVENT_BUFWRITEPRE,
sfname, sfname, FALSE, curbuf, eap);
}
}
else
{
if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEWRITECMD,
sfname, sfname, FALSE, curbuf, eap)))
apply_autocmds_exarg(EVENT_FILEWRITEPRE,
{
if (bt_nofile(curbuf))
nofile_err = TRUE;
else
apply_autocmds_exarg(EVENT_FILEWRITEPRE,
sfname, sfname, FALSE, curbuf, eap);
}
}
/* restore curwin/curbuf and a few other things */
@ -2776,11 +2792,15 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
*/
if (!buf_valid(buf))
buf = NULL;
if (buf == NULL || buf->b_ml.ml_mfp == NULL || did_cmd || aborting())
if (buf == NULL || buf->b_ml.ml_mfp == NULL
|| did_cmd || nofile_err || aborting())
{
--no_wait_return;
msg_scroll = msg_save;
if (aborting())
if (nofile_err)
EMSG(_("E676: No matching autocommands for acwrite buffer"));
if (aborting() || nofile_err)
/* An aborting error, interrupt or exception in the
* autocommands. */
return FAIL;

View File

@ -992,24 +992,92 @@ open_line(dir, flags, old_indent)
for (p = leader + lead_len - 1; p > leader
&& vim_iswhite(*p); --p)
;
++p;
#ifdef FEAT_MBYTE
/* Compute the length of the replaced characters in
* screen characters, not bytes. */
{
int repl_size = vim_strnsize(lead_repl,
lead_repl_len);
int old_size = 0;
char_u *endp = p;
int l;
while (old_size < repl_size && p > leader)
{
--p;
p -= mb_head_off(leader, p);
old_size += ptr2cells(p);
}
l = lead_repl_len - (endp - p);
if (l != 0)
mch_memmove(endp + l, endp,
(size_t)((leader + lead_len) - endp));
lead_len += l;
}
#else
if (p < leader + lead_repl_len)
p = leader;
else
p -= lead_repl_len;
#endif
mch_memmove(p, lead_repl, (size_t)lead_repl_len);
if (p + lead_repl_len > leader + lead_len)
p[lead_repl_len] = NUL;
/* blank-out any other chars from the old leader. */
while (--p >= leader)
{
#ifdef FEAT_MBYTE
int l = mb_head_off(leader, p);
if (l > 1)
{
p -= l;
if (ptr2cells(p) > 1)
{
p[1] = ' ';
--l;
}
mch_memmove(p + 1, p + l + 1,
(size_t)((leader + lead_len) - (p + l + 1)));
lead_len -= l;
*p = ' ';
}
else
#endif
if (!vim_iswhite(*p))
*p = ' ';
}
}
else /* left adjusted leader */
{
p = skipwhite(leader);
#ifdef FEAT_MBYTE
/* Compute the length of the replaced characters in
* screen characters, not bytes. Move the part that is
* not to be overwritten. */
{
int repl_size = vim_strnsize(lead_repl,
lead_repl_len);
int i;
int l;
for (i = 0; p[i] != NUL && i < lead_len; i += l)
{
l = mb_ptr2len_check(p + i);
if (vim_strnsize(p, i + l) > repl_size)
break;
}
if (i != lead_repl_len)
{
mch_memmove(p + lead_repl_len, p + i,
(size_t)(lead_len - i - (leader - p)));
lead_len += lead_repl_len - i;
}
}
#endif
mch_memmove(p, lead_repl, (size_t)lead_repl_len);
/* Replace any remaining non-white chars in the old
@ -1026,7 +1094,26 @@ open_line(dir, flags, old_indent)
(leader + lead_len) - p);
}
else
{
#ifdef FEAT_MBYTE
int l = mb_ptr2len_check(p);
if (l > 1)
{
if (ptr2cells(p) > 1)
{
/* Replace a double-wide char with
* two spaces */
--l;
*p++ = ' ';
}
mch_memmove(p + 1, p + l,
(leader + lead_len) - p);
lead_len -= l - 1;
}
#endif
*p = ' ';
}
}
*p = NUL;
}
@ -3789,7 +3876,8 @@ get_env_name(xp, idx)
/* Borland C++ 5.2 has this in a header file. */
extern char **environ;
# endif
static char_u name[100];
# define ENVNAMELEN 100
static char_u name[ENVNAMELEN];
char_u *str;
int n;
@ -3797,7 +3885,7 @@ get_env_name(xp, idx)
if (str == NULL)
return NULL;
for (n = 0; n < 99; ++n)
for (n = 0; n < ENVNAMELEN - 1; ++n)
{
if (str[n] == '=' || str[n] == NUL)
break;
@ -5064,7 +5152,10 @@ cin_is_cpp_baseclass(line, col)
*col = 0;
s = cin_skipcomment(line);
s = skipwhite(line);
if (*s == '#') /* skip #define FOO x ? (x) : x */
return FALSE;
s = cin_skipcomment(s);
if (*s == NUL)
return FALSE;
@ -5737,7 +5828,8 @@ get_c_indent()
if (start_off != 0)
amount += start_off;
else if (start_align == COM_RIGHT)
amount += lead_start_len - lead_middle_len;
amount += vim_strsize(lead_start)
- vim_strsize(lead_middle);
break;
}
@ -5751,7 +5843,8 @@ get_c_indent()
if (off != 0)
amount += off;
else if (align == COM_RIGHT)
amount += lead_start_len - lead_middle_len;
amount += vim_strsize(lead_start)
- vim_strsize(lead_middle);
done = TRUE;
break;
}

View File

@ -2475,7 +2475,11 @@ static char *(p_debug_values[]) = {"msg", NULL};
static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
#endif
#if defined(FEAT_QUICKFIX)
# ifdef FEAT_AUTOCMD
static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", "acwrite", NULL};
# else
static char *(p_buftype_values[]) = {"nofile", "nowrite", "quickfix", "help", NULL};
# endif
static char *(p_bufhidden_values[]) = {"hide", "unload", "delete", "wipe", NULL};
#endif
static char *(p_bs_values[]) = {"indent", "eol", "start", NULL};

View File

@ -1972,13 +1972,15 @@ bt_quickfix(buf)
}
/*
* Return TRUE if "buf" is a "nofile" buffer.
* Return TRUE if "buf" is a "nofile" or "acwrite" buffer.
* This means the buffer name is not a file name.
*/
int
bt_nofile(buf)
buf_T *buf;
{
return (buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f');
return (buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f')
|| buf->b_p_bt[0] == 'a';
}
/*