Compare commits

...

25 Commits

Author SHA1 Message Date
Bram Moolenaar
60ec5f35a5 updated for version 7.3.751
Problem:    Test 61 is flaky, it fails once in a while.
Solution:   When it fails retry once.
2012-12-05 18:21:32 +01:00
Bram Moolenaar
57e4ee4d38 updated for version 7.3.750
Problem:    The justify macro does not always work correctly.
Solution:   Fix off-by-one error (James McCoy)
2012-12-05 17:03:22 +01:00
Bram Moolenaar
a54bf40017 updated for version 7.3.749
Problem:    Python interface doesn't build without the multi-byte feature.
Solution:   Add #ifdef. (Ken Takata)
2012-12-05 16:30:07 +01:00
Bram Moolenaar
9750bb199e updated for version 7.3.748
Problem:    Cannot properly test conceal mode.
Solution:   Add the screencol() and screenrow() functions.  Use them in
            test88. (Simon Ruderich)
2012-12-05 16:10:42 +01:00
Bram Moolenaar
0f9d0869c7 updated for version 7.3.747
Problem:    When characters are concealed text aligned with tabs are no longer
            aligned, e.g. at ":help :index".
Solution:   Compensate space for tabs for concealed characters. (Dominique
            Pelle)
2012-12-05 15:32:30 +01:00
Bram Moolenaar
81484f4215 updated for version 7.3.746
Problem:    Memory leaks when using location lists.
Solution:   Set qf_title to something. (Christian Brabandt)
2012-12-05 15:16:47 +01:00
Bram Moolenaar
15d55dec03 updated for version 7.3.745
Problem:    Automatically setting 'ttymouse' doesn't work.
Solution:   Reset the "option was set" flag when using the default.
2012-12-05 14:43:02 +01:00
Bram Moolenaar
862cfa356d updated for version 7.3.744
Problem:    64 bit compiler warning.
Solution:   Add type cast. (Mike Williams)
2012-11-29 20:10:00 +01:00
Bram Moolenaar
2a94225c23 updated for version 7.3.743
Problem:    Tiny build still fails.
Solution:   Add #else in the right place.
2012-11-28 23:03:07 +01:00
Bram Moolenaar
f135435f80 updated for version 7.3.742
Problem:    Leaking memory when :vimgrep restores the directory.
Solution:   Free the allocated memory. (Christian Brabandt)
2012-11-28 22:12:44 +01:00
Bram Moolenaar
2e18a12780 updated for version 7.3.741
Problem:    Tiny build fails.
Solution:   Move #ifdef. (Ike Devolder)
2012-11-28 19:10:54 +01:00
Bram Moolenaar
97d4ea71d6 updated for version 7.3.740
Problem:    IOC tool complains about undefined behavior for int.
Solution:   Change to unsigned int. (Dominique Pelle)
2012-11-28 18:31:54 +01:00
Bram Moolenaar
f4f1956724 updated for version 7.3.739
Problem:    Computing number of lines may have an integer overflow.
Solution:   Check for MAXCOL explicitly. (Dominique Pelle)
2012-11-28 18:22:11 +01:00
Bram Moolenaar
2df58b4a58 Updated runtime files. 2012-11-28 18:21:11 +01:00
Bram Moolenaar
9411615985 updated for version 7.3.738
Problem:    Unused function argument.
Solution:   Remove it. (Christian Brabandt)
2012-11-28 17:41:59 +01:00
Bram Moolenaar
d4ad0d4e21 updated for version 7.3.737
Problem:    When using do_cmdline() recursively did_endif is not reset,
            causing messages to be overwritten.
Solution:   Reset did_endif. (Christian Brabandt)
2012-11-28 17:34:48 +01:00
Bram Moolenaar
b347963869 updated for version 7.3.736
Problem:    File name completion in input() escapes white space. (Frederic
            Hardy)
Solution:   Do not escape white space. (Christian Brabandt)
2012-11-28 16:49:58 +01:00
Bram Moolenaar
dd53a41553 updated for version 7.3.735
Problem:    Cannot build Ruby 1.9 with MingW or Cygwin.
Solution:   Add another include directory. (Ken Takata)
2012-11-28 16:18:29 +01:00
Bram Moolenaar
442b5c48fd updated for version 7.3.734
Problem:    Cannot put help files in a sub-directory.
Solution:   Make :helptags work for sub-directories. (Charles Campbell)
2012-11-28 16:06:22 +01:00
Bram Moolenaar
8866d277c9 updated for version 7.3.733
Problem:    Tests fail when including MzScheme.
Solution:   Change #ifdefs for vim_main2().
2012-11-28 15:55:42 +01:00
Bram Moolenaar
02e14d67b9 updated for version 7.3.732
Problem:    Compiler warnings for function arguments.
Solution:   Use inteptr_t instead of long.
2012-11-28 15:37:51 +01:00
Bram Moolenaar
7854e3abcf updated for version 7.3.731
Problem:    Py3Init_vim() is exported uneccessarily.
Solution:   Make it static. (Ken Takata)
2012-11-28 15:33:14 +01:00
Bram Moolenaar
c83a44bf8f updated for version 7.3.730
Problem:    Crash in PHP file when using syntastic. (Ike Devolder)
Solution:   Avoid using NULL pointer. (Christian Brabandt)
2012-11-28 15:25:34 +01:00
Bram Moolenaar
ff8cf2be66 updated for version 7.3.729
Problem:    Building with Ruby fails on some systems.
Solution:   Remove "static" and add #ifndef PROTO. (Ken Takata)
2012-11-24 13:39:00 +01:00
Bram Moolenaar
fe9fb927ae updated for version 7.3.728
Problem:    Cannot compile with MzScheme interface on Ubuntu 12.10.
Solution:   Find the collects directory under /usr/share.
2012-11-23 21:54:48 +01:00
44 changed files with 661 additions and 234 deletions

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2012 Nov 14
*eval.txt* For Vim version 7.3. Last change: 2012 Nov 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1903,6 +1903,8 @@ repeat( {expr}, {count}) String repeat {expr} {count} times
resolve( {filename}) String get filename a shortcut points to
reverse( {list}) List reverse {list} in-place
round( {expr}) Float round off {expr}
screencol() Number current cursor column
screenrow() Number current cursor row
search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
Number search for {pattern}
searchdecl( {name} [, {global} [, {thisblock}]])
@@ -4878,9 +4880,9 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use |cursor()| to set it).
When a match has been found its line number is returned.
If there is no match a 0 is returned and the cursor doesn't
move. No error message is given.
When a match has been found its line number is returned.
{flags} is a String, which can contain these character flags:
'b' search backward instead of forward
@@ -5694,8 +5696,10 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
This works like the ":substitute" command (without any flags).
But the matching with {pat} is always done like the 'magic'
option is set and 'cpoptions' is empty (to make scripts
portable). 'ignorecase' is still relevant. 'smartcase' is
not used. See |string-match| for how {pat} is used.
portable). 'ignorecase' is still relevant, use |/\c| or |/\C|
if you want to ignore or match case and ignore 'ignorecase'.
'smartcase' is not used. See |string-match| for how {pat} is
used.
A "~" in {sub} is not replaced with the previous {sub}.
Note that some codes in {sub} have a special meaning
@@ -6160,8 +6164,9 @@ winline() The result is a Number, which is the screen line of the cursor
winnr([{arg}]) The result is a Number, which is the number of the current
window. The top window has number 1.
When the optional argument is "$", the number of the
last window is returned (the window count).
When the optional argument is "#", the number of the last
last window is returned (the window count). >
let window_count = winnr('$')
< When the optional argument is "#", the number of the last
accessed window is returned (where |CTRL-W_p| goes to).
If there is no previous window or it is in another tab page 0
is returned.
@@ -6532,6 +6537,8 @@ See |:verbose-cmd| for more information.
is excluded, ":{range}call" will call the function for
each line in the range, with the cursor on the start
of each line. See |function-range-example|.
The cursor is still moved to the first line of the
range, as is the case with all Ex commands.
When the [abort] argument is added, the function will
abort as soon as an error is detected.

View File

@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 7.3. Last change: 2012 May 18
*helphelp.txt* For Vim version 7.3. Last change: 2012 Nov 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -194,11 +194,12 @@ command: >
*E154* *E150* *E151* *E152* *E153* *E670*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
All "*.txt" and "*.??x" files in the directory are
scanned for a help tag definition in between stars.
The "*.??x" files are for translated docs, they
generate the "tags-??" file, see |help-translated|.
The generated tags files are sorted.
All "*.txt" and "*.??x" files in the directory and
sub-directories are scanned for a help tag definition
in between stars. The "*.??x" files are for
translated docs, they generate the "tags-??" file, see
|help-translated|. The generated tags files are
sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2012 Nov 02
*syntax.txt* For Vim version 7.3. Last change: 2012 Nov 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1090,6 +1090,10 @@ Simpler is setting the filetype to "docbkxml" or "docbksgml": >
or: >
:set filetype=docbkxml
You can specify the DocBook version: >
:let docbk_ver = 3
When not set 4 is used.
DOSBATCH *dosbatch.vim* *ft-dosbatch-syntax*

View File

@@ -5728,6 +5728,7 @@ ft-quake-syntax syntax.txt /*ft-quake-syntax*
ft-r-indent indent.txt /*ft-r-indent*
ft-readline-syntax syntax.txt /*ft-readline-syntax*
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
ft-rst-syntax syntax.txt /*ft-rst-syntax*
ft-ruby-omni insert.txt /*ft-ruby-omni*
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
ft-scheme-syntax syntax.txt /*ft-scheme-syntax*
@@ -5872,6 +5873,7 @@ g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
g:netrw_decompress pi_netrw.txt /*g:netrw_decompress*
g:netrw_dirhistmax pi_netrw.txt /*g:netrw_dirhistmax*
g:netrw_dynamic_maxfilenamelen pi_netrw.txt /*g:netrw_dynamic_maxfilenamelen*
g:netrw_errorlvl pi_netrw.txt /*g:netrw_errorlvl*
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
@@ -6840,6 +6842,7 @@ netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S*
netrw-T pi_netrw.txt /*netrw-T*
netrw-U pi_netrw.txt /*netrw-U*
netrw-X pi_netrw.txt /*netrw-X*
netrw-a pi_netrw.txt /*netrw-a*
netrw-activate pi_netrw.txt /*netrw-activate*
netrw-bookmark pi_netrw.txt /*netrw-bookmark*
@@ -7426,6 +7429,7 @@ rileft.txt rileft.txt /*rileft.txt*
riscos os_risc.txt /*riscos*
rot13 change.txt /*rot13*
round() eval.txt /*round()*
rst.vim syntax.txt /*rst.vim*
rsync pi_netrw.txt /*rsync*
ruby if_ruby.txt /*ruby*
ruby-buffer if_ruby.txt /*ruby-buffer*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2012 Nov 15
*todo.txt* For Vim version 7.3. Last change: 2012 Nov 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -45,30 +45,20 @@ GTK: problem with 'L' in 'guioptions' changing the window width.
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
Patches for two problems, with explanations. (Christian Brabandt, 2012 Oct 22)
The CompleteDone autocommand needs some info passed to it:
- The word that was selected (empty if abandoned complete)
- Type of completion: tag, omnifunc, user func.
Unwanted file name escaping: ":echo input('file:' , '', 'file')"
And use file name completion on a file with spaces. (Frederic Hardy, 2009 Mar
23)
Patch by Christian Brabandt, 2012 Oct 18. Update Oct 19.
Patch to reset did_endif. (Christian Brabandt,, 2012 Oct 23)
How about a test?
Patch for Tab behavior with 'conceal'. (Dominique Pelle, 2012 Mar 18)
Patch to test functionality of 'conceal' with tabs. (Simon Ruderich, 2012 Sep
5) Update with screencol() and screenrow() functions: Sep 7.
Patch for integer overflow in move.c. (Dominique Pelle, 2012 Nov 6)
Patch for undefined integer behavior. (Dominique Pelle, 2012 Nov 4, second one)
Patch to have Python interface not depend on multi-byte.
Patch to fix justify.vim. (James McCoy, 2012 Nov 23)
mouse_sgr is not ordered alphabetically in :version output.
Docs list mouse_urxvt as normal feature, should be big. (Hayaki Saito, 2012
Aug 16)
@@ -82,6 +72,12 @@ Also remove the "rc" variable.
Crash with vimdiff. (Don Cruickshank, 2012 Sep 23)
Patch to support subdirectories for help files. (Charles Campbell, 2012 Nov
21)
Patch for mzscheme. (Sergey Khorev, 2012 Nov 19)
What about ignoring SEGV?
Win32: use 'guifontwide' for IME composition. (Taro Muraoka, 2012 Sep 30)
Update Oct 2.
@@ -98,6 +94,9 @@ Win32: When a directory name contains an exclamation mark, completion doesn't
complete the contents of the directory. No escaping for the "!"? (Jan
Stocker, 2012 Jan 5)
Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22)
Patch by Christian Brabandt, Nov 22. Tests in another patch, Nov 23.
Problem caused by patch 7.3.638: window->open does not update window
correctly. Issue 91.
@@ -121,6 +120,11 @@ then Sep 1, reminder Oct 14)
Issue 72: 'autochdir' causes problems for :vimgrep.
Undo problem: line not removed as expected when using setline() from Insert
mode. (Israel Chauca, 2010 May 13, more in second msg)
Break undo when CTRL-R = changes the text? Or save more lines?
Patch by Christian Brabandt, 2012 Nov 16.
In the ATTENTION message about an existing swap file, mention the name of the
process that is running. It might actually be some other program, e.g. after
a reboot.
@@ -328,6 +332,9 @@ Oct 26)
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
Using "p" in Visual mode while specifying the small delete register "-
overwrites the register before it is put. (Marcin Szamotulski, 2012 Nov 23)
With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it.
@@ -673,10 +680,6 @@ Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
Using ']' as the end of a range in a pattern requires double escaping:
/[@-\\]] (Andy Wokula, 2011 Jun 28)
Undo problem: line not removed as expected when using setline() from Insert
mode. (Israel Chauca, 2010 May 13, more in second msg)
Break undo when CTRL-R = changes the text? Or save more lines?
Slow combination of folding and PHP syntax highlighting. Script to reproduce
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
(Christian Brabandt, 2010 May 27)

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.3. Last change: 2009 Jun 04
*usr_05.txt* For Vim version 7.3. Last change: 2012 Nov 20
VIM USER MANUAL - by Bram Moolenaar
@@ -49,8 +49,7 @@ For MS-DOS and MS-Windows you can use one of these:
The vimrc file can contain all the commands that you type after a colon. The
most simple ones are for setting options. For example, if you want Vim to
always start with the 'incsearch' option on, add this line you your vimrc
file: >
always start with the 'incsearch' option on, add this line your vimrc file: >
set incsearch

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Oct 05
" Last Change: 2012 Nov 28
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -1745,7 +1745,8 @@ au BufNewFile,BufRead *.sgm,*.sgml
\ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' |
\ setf sgmllnx |
\ elseif getline(1) =~ '<!DOCTYPE.*DocBook' || getline(2) =~ '<!DOCTYPE.*DocBook' |
\ let b:docbk_type="sgml" |
\ let b:docbk_type = "sgml" |
\ let b:docbk_ver = 4 |
\ setf docbk |
\ else |
\ setf sgml |
@@ -2307,8 +2308,16 @@ func! s:FTxml()
let n = 1
while n < 100 && n < line("$")
let line = getline(n)
if line =~ '<!DOCTYPE.*DocBook'
" DocBook 4 or DocBook 5.
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
if is_docbook4 || is_docbook5
let b:docbk_type = "xml"
if is_docbook5
let b:docbk_ver = 5
else
let b:docbk_ver = 4
endif
setf docbk
return
endif

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Mail
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2009 Jun 03
" Last Change: 2012 Nov 20
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -9,7 +9,7 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl modeline< tw< fo<"
let b:undo_ftplugin = "setl modeline< tw< fo< comments<"
" Don't use modelines in e-mail messages, avoid trojan horses and nasty
" "jokes" (e.g., setting 'textwidth' to 5).
@@ -23,6 +23,9 @@ endif
" Set 'formatoptions' to break text lines and keep the comment leader ">".
setlocal fo+=tcql
" Add n:> to 'comments, in case it was removed elsewhere
setlocal comments+=n:>
" Add mappings, unless the user doesn't want this.
if !exists("no_plugin_maps") && !exists("no_mail_maps")
" Quote text by inserting "> "

View File

@@ -1,4 +1,4 @@
" Function to left and rigt align text.
" Function to left and right align text.
"
" Written by: Preben "Peppe" Guldberg <c928400@student.dtu.dk>
" Created: 980806 14:13 (or around that time anyway)
@@ -256,18 +256,17 @@ function! Justify(...) range
let str = substitute(str, '\s\+$', '', '')
let str = substitute(str, '^\s\+', '', '')
let str = substitute(str, '\s\+', ' ', 'g')
" Use substitute() hack to get strlen in characters instead of bytes
let str_n = strlen(substitute(str, '.', 'x', 'g'))
let str_n = strdisplaywidth(str)
" Possible addition of space after punctuation
if exists("join_str")
let str = substitute(str, join_str, '\1 ', 'g')
endif
let join_n = strlen(substitute(str, '.', 'x', 'g')) - str_n
let join_n = strdisplaywidth(str) - str_n
" Can extraspaces be added?
" Note that str_n may be less than strlen(str) [joinspaces above]
if strlen(substitute(str, '.', 'x', 'g')) < tw - indent_n && str_n > 0
if strdisplaywidth(str) <= tw - indent_n && str_n > 0
" How many spaces should be added
let s_add = tw - str_n - indent_n - join_n
let s_nr = strlen(substitute(str, '\S', '', 'g') ) - join_n

View File

@@ -1,9 +1,10 @@
" Vim syntax file
" Language: DocBook
" Maintainer: Devin Weaver <vim@tritarget.com>
" Last Updated By: Shlomi Fish
" URL: http://tritarget.com/pub/vim/syntax/docbk.vim
" Last Change: $Date: 2005/06/23 22:31:01 $
" Version: $Revision: 1.2 $
" Last Change: 2012 Nov 28
" Version: 1.2 (and modified after that)
" Thanks to Johannes Zellner <johannes@zellner.org> for the default to XML
" suggestion.
@@ -28,6 +29,15 @@ if !exists('b:docbk_type')
let b:docbk_type = 'xml'
endif
endif
if !exists('b:docbk_ver')
if exists('docbk_ver')
let b:docbk_ver = docbk_ver
else
let b:docbk_ver = 4
endif
end
if 'xml' == b:docbk_type
doau Syntax xml
syn cluster xmlTagHook add=docbkKeyword
@@ -40,81 +50,121 @@ elseif 'sgml' == b:docbk_type
syn case ignore
endif
" <comment> has been removed and replace with <remark> in DocBook 4.0
" <comment> kept for backwards compatability.
syn keyword docbkKeyword abbrev abstract accel ackno acronym action contained
syn keyword docbkKeyword address affiliation alt anchor answer appendix contained
syn keyword docbkKeyword application area areaset areaspec arg artheader contained
syn keyword docbkKeyword article articleinfo artpagenums attribution audiodata contained
syn keyword docbkKeyword audioobject author authorblurb authorgroup contained
syn keyword docbkKeyword authorinitials beginpage bibliodiv biblioentry contained
syn keyword docbkKeyword bibliography bibliomisc bibliomixed bibliomset contained
syn keyword docbkKeyword biblioset blockquote book bookbiblio bookinfo contained
syn keyword docbkKeyword bridgehead callout calloutlist caption caution contained
syn keyword docbkKeyword chapter citation citerefentry citetitle city contained
syn keyword docbkKeyword classname cmdsynopsis co collab collabname contained
syn keyword docbkKeyword colophon colspec command comment computeroutput contained
syn keyword docbkKeyword confdates confgroup confnum confsponsor conftitle contained
syn keyword docbkKeyword constant contractnum contractsponsor contrib contained
syn keyword docbkKeyword copyright corpauthor corpname country database contained
syn keyword docbkKeyword date dedication docinfo edition editor email contained
syn keyword docbkKeyword emphasis entry entrytbl envar epigraph equation contained
syn keyword docbkKeyword errorcode errorname errortype example fax figure contained
syn keyword docbkKeyword filename firstname firstterm footnote footnoteref contained
syn keyword docbkKeyword abbrev abstract accel acronym address contained
syn keyword docbkKeyword affiliation alt anchor answer appendix contained
syn keyword docbkKeyword application area areaset areaspec arg contained
syn keyword docbkKeyword article artpagenums attribution audiodata contained
syn keyword docbkKeyword audioobject author authorgroup contained
syn keyword docbkKeyword authorinitials bibliocoverage bibliodiv contained
syn keyword docbkKeyword biblioentry bibliography biblioid contained
syn keyword docbkKeyword bibliolist bibliomisc bibliomixed contained
syn keyword docbkKeyword bibliomset biblioref bibliorelation contained
syn keyword docbkKeyword biblioset bibliosource blockquote book contained
syn keyword docbkKeyword bridgehead callout calloutlist caption contained
syn keyword docbkKeyword caution chapter citation citebiblioid contained
syn keyword docbkKeyword citerefentry citetitle city classname contained
syn keyword docbkKeyword classsynopsis classsynopsisinfo cmdsynopsis contained
syn keyword docbkKeyword co code col colgroup collab colophon contained
syn keyword docbkKeyword colspec command computeroutput confdates contained
syn keyword docbkKeyword confgroup confnum confsponsor conftitle contained
syn keyword docbkKeyword constant constructorsynopsis contractnum contained
syn keyword docbkKeyword contractsponsor contrib copyright coref contained
syn keyword docbkKeyword country database date dedication contained
syn keyword docbkKeyword destructorsynopsis edition editor email contained
syn keyword docbkKeyword emphasis entry entrytbl envar epigraph contained
syn keyword docbkKeyword equation errorcode errorname errortext contained
syn keyword docbkKeyword errortype example exceptionname fax contained
syn keyword docbkKeyword fieldsynopsis figure filename firstname contained
syn keyword docbkKeyword firstterm footnote footnoteref contained
syn keyword docbkKeyword foreignphrase formalpara funcdef funcparams contained
syn keyword docbkKeyword funcprototype funcsynopsis funcsynopsisinfo contained
syn keyword docbkKeyword function glossary glossdef glossdiv glossentry contained
syn keyword docbkKeyword glosslist glosssee glossseealso glossterm graphic contained
syn keyword docbkKeyword graphicco group guibutton guiicon guilabel contained
syn keyword docbkKeyword function glossary glossdef glossdiv contained
syn keyword docbkKeyword glossentry glosslist glosssee glossseealso contained
syn keyword docbkKeyword glossterm group guibutton guiicon guilabel contained
syn keyword docbkKeyword guimenu guimenuitem guisubmenu hardware contained
syn keyword docbkKeyword highlights holder honorific imagedata imageobject contained
syn keyword docbkKeyword imageobjectco important index indexdiv indexentry contained
syn keyword docbkKeyword indexterm informalequation informalexample contained
syn keyword docbkKeyword informalfigure informaltable inlineequation contained
syn keyword docbkKeyword inlinegraphic inlinemediaobject interface contained
syn keyword docbkKeyword interfacedefinition invpartnumber isbn issn contained
syn keyword docbkKeyword issuenum itemizedlist itermset jobtitle keycap contained
syn keyword docbkKeyword keycode keycombo keysym keyword keywordset label contained
syn keyword docbkKeyword legalnotice lineage lineannotation link listitem contained
syn keyword docbkKeyword literal literallayout lot lotentry manvolnum contained
syn keyword docbkKeyword markup medialabel mediaobject mediaobjectco contained
syn keyword docbkKeyword member menuchoice modespec mousebutton msg msgaud contained
syn keyword docbkKeyword msgentry msgexplan msginfo msglevel msgmain contained
syn keyword docbkKeyword msgorig msgrel msgset msgsub msgtext note contained
syn keyword docbkKeyword objectinfo olink option optional orderedlist contained
syn keyword docbkKeyword orgdiv orgname otheraddr othercredit othername contained
syn keyword docbkKeyword pagenums para paramdef parameter part partintro contained
syn keyword docbkKeyword phone phrase pob postcode preface primary contained
syn keyword docbkKeyword primaryie printhistory procedure productname contained
syn keyword docbkKeyword productnumber programlisting programlistingco contained
syn keyword docbkKeyword prompt property pubdate publisher publishername contained
syn keyword docbkKeyword pubsnumber qandadiv qandaentry qandaset question contained
syn keyword docbkKeyword quote refclass refdescriptor refentry contained
syn keyword docbkKeyword holder honorific imagedata imageobject contained
syn keyword docbkKeyword imageobjectco important index indexdiv contained
syn keyword docbkKeyword indexentry indexterm informalequation contained
syn keyword docbkKeyword informalexample informalfigure contained
syn keyword docbkKeyword informaltable initializer inlineequation contained
syn keyword docbkKeyword inlinemediaobject interfacename issuenum contained
syn keyword docbkKeyword itemizedlist itermset jobtitle keycap contained
syn keyword docbkKeyword keycode keycombo keysym keyword keywordset contained
syn keyword docbkKeyword label legalnotice lineage lineannotation contained
syn keyword docbkKeyword link listitem literal literallayout contained
syn keyword docbkKeyword manvolnum markup mathphrase mediaobject contained
syn keyword docbkKeyword member menuchoice methodname methodparam contained
syn keyword docbkKeyword methodsynopsis modifier mousebutton msg contained
syn keyword docbkKeyword msgaud msgentry msgexplan msginfo msglevel contained
syn keyword docbkKeyword msgmain msgorig msgrel msgset msgsub contained
syn keyword docbkKeyword msgtext note olink ooclass ooexception contained
syn keyword docbkKeyword oointerface option optional orderedlist contained
syn keyword docbkKeyword orgdiv orgname otheraddr othercredit contained
syn keyword docbkKeyword othername package pagenums para paramdef contained
syn keyword docbkKeyword parameter part partintro personblurb contained
syn keyword docbkKeyword personname phone phrase pob postcode contained
syn keyword docbkKeyword preface primary primaryie printhistory contained
syn keyword docbkKeyword procedure productname productnumber contained
syn keyword docbkKeyword programlisting programlistingco prompt contained
syn keyword docbkKeyword property pubdate publisher publishername contained
syn keyword docbkKeyword qandadiv qandaentry qandaset question quote contained
syn keyword docbkKeyword refclass refdescriptor refentry contained
syn keyword docbkKeyword refentrytitle reference refmeta refmiscinfo contained
syn keyword docbkKeyword refname refnamediv refpurpose refsect1 contained
syn keyword docbkKeyword refsect1info refsect2 refsect2info refsect3 contained
syn keyword docbkKeyword refsect3info refsynopsisdiv refsynopsisdivinfo contained
syn keyword docbkKeyword releaseinfo remark replaceable returnvalue revhistory contained
syn keyword docbkKeyword revision revnumber revremark row sbr screen contained
syn keyword docbkKeyword screenco screeninfo screenshot secondary contained
syn keyword docbkKeyword secondaryie sect1 sect1info sect2 sect2info sect3 contained
syn keyword docbkKeyword sect3info sect4 sect4info sect5 sect5info section contained
syn keyword docbkKeyword sectioninfo see seealso seealsoie seeie seg contained
syn keyword docbkKeyword seglistitem segmentedlist segtitle seriesinfo contained
syn keyword docbkKeyword seriesvolnums set setindex setinfo sgmltag contained
syn keyword docbkKeyword shortaffil shortcut sidebar simpara simplelist contained
syn keyword docbkKeyword simplesect spanspec state step street structfield contained
syn keyword docbkKeyword structname subject subjectset subjectterm contained
syn keyword docbkKeyword subscript substeps subtitle superscript surname contained
syn keyword docbkKeyword symbol synopfragment synopfragmentref synopsis contained
syn keyword docbkKeyword systemitem table tbody term tertiary tertiaryie contained
syn keyword docbkKeyword textobject tfoot tgroup thead tip title contained
syn keyword docbkKeyword titleabbrev toc tocback tocchap tocentry tocfront contained
syn keyword docbkKeyword toclevel1 toclevel2 toclevel3 toclevel4 toclevel5 contained
syn keyword docbkKeyword tocpart token trademark type ulink userinput contained
syn keyword docbkKeyword refsect2 refsect3 refsection refsynopsisdiv contained
syn keyword docbkKeyword releaseinfo remark replaceable returnvalue contained
syn keyword docbkKeyword revdescription revhistory revision contained
syn keyword docbkKeyword revnumber revremark row sbr screen screenco contained
syn keyword docbkKeyword screenshot secondary secondaryie sect1 contained
syn keyword docbkKeyword sect2 sect3 sect4 sect5 section see seealso contained
syn keyword docbkKeyword seealsoie seeie seg seglistitem contained
syn keyword docbkKeyword segmentedlist segtitle seriesvolnums set contained
syn keyword docbkKeyword setindex shortaffil shortcut sidebar contained
syn keyword docbkKeyword simpara simplelist simplemsgentry contained
syn keyword docbkKeyword simplesect spanspec state step contained
syn keyword docbkKeyword stepalternatives street subject subjectset contained
syn keyword docbkKeyword subjectterm subscript substeps subtitle contained
syn keyword docbkKeyword superscript surname symbol synopfragment contained
syn keyword docbkKeyword synopfragmentref synopsis systemitem table contained
syn keyword docbkKeyword task taskprerequisites taskrelated contained
syn keyword docbkKeyword tasksummary tbody td term termdef tertiary contained
syn keyword docbkKeyword tertiaryie textdata textobject tfoot tgroup contained
syn keyword docbkKeyword th thead tip title titleabbrev toc tocentry contained
syn keyword docbkKeyword token tr trademark type uri userinput contained
syn keyword docbkKeyword varargs variablelist varlistentry varname contained
syn keyword docbkKeyword videodata videoobject void volumenum warning contained
syn keyword docbkKeyword wordasword xref year contained
syn keyword docbkKeyword videodata videoobject void volumenum contained
syn keyword docbkKeyword warning wordasword xref year contained
if b:docbk_ver == 4
syn keyword docbkKeyword ackno action appendixinfo articleinfo contained
syn keyword docbkKeyword authorblurb beginpage bibliographyinfo contained
syn keyword docbkKeyword blockinfo bookinfo chapterinfo contained
syn keyword docbkKeyword collabname corpauthor corpcredit contained
syn keyword docbkKeyword corpname glossaryinfo graphic graphicco contained
syn keyword docbkKeyword highlights indexinfo inlinegraphic contained
syn keyword docbkKeyword interface invpartnumber isbn issn lot contained
syn keyword docbkKeyword lotentry medialabel mediaobjectco contained
syn keyword docbkKeyword modespec objectinfo partinfo contained
syn keyword docbkKeyword prefaceinfo pubsnumber refentryinfo contained
syn keyword docbkKeyword referenceinfo refsect1info refsect2info contained
syn keyword docbkKeyword refsect3info refsectioninfo contained
syn keyword docbkKeyword refsynopsisdivinfo screeninfo sect1info contained
syn keyword docbkKeyword sect2info sect3info sect4info sect5info contained
syn keyword docbkKeyword sectioninfo setindexinfo setinfo contained
syn keyword docbkKeyword sgmltag sidebarinfo structfield contained
syn keyword docbkKeyword structname tocback tocchap tocfront contained
syn keyword docbkKeyword toclevel1 toclevel2 toclevel3 toclevel4 contained
syn keyword docbkKeyword toclevel5 tocpart ulink contained
else
syn keyword docbkKeyword acknowledgements annotation arc contained
syn keyword docbkKeyword constraint constraintdef cover contained
syn keyword docbkKeyword extendedlink givenname info lhs locator contained
syn keyword docbkKeyword multimediaparam nonterminal org person contained
syn keyword docbkKeyword production productionrecap contained
syn keyword docbkKeyword productionset rhs tag tocdiv topic contained
endif
" Add special emphasis on some regions. Thanks to Rory Hunter <roryh@dcs.ed.ac.uk> for these ideas.
syn region docbkRegion start="<emphasis>"lc=10 end="</emphasis>"me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend

View File

@@ -541,7 +541,7 @@ Note:
4. <20>ǽ<EFBFBD><C7BD>γ<EFBFBD><CEB3>̤˰<CCA4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> % <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD><E7A4A6>
5. ¾<><C2BE> (,),[,],{ or } <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>% <20><><EFBFBD><EFBFBD><EFBFBD>򤷤Ƥ<F2A4B7A4><C6A4><EFBFBD><EBA4AB>ǧ<EFBFBD><C7A7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><E7A4A6>
5. ¾<><C2BE> (,),[,],{ <EFBFBD><EFBFBD> } <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>% <20><><EFBFBD><EFBFBD><EFBFBD>򤷤Ƥ<F2A4B7A4><C6A4><EFBFBD><EBA4AB>ǧ<EFBFBD><C7A7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><E7A4A6>
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
@@ -655,7 +655,7 @@ Note:
3. ʸ<><CAB8> : <20>򲡤<EFBFBD><F2B2A1A4>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>̤κDz<CEBA><C7B2><EFBFBD><EFBFBD><EFBFBD> :'<,'> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
4. w TEST (TESET <20><>¸<EFBFBD>ߤ<EFBFBD><DFA4>ʤ<EFBFBD><CAA4>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾)<29>򥿥<EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
4. w TEST (TEST <20><>¸<EFBFBD>ߤ<EFBFBD><DFA4>ʤ<EFBFBD><CAA4>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾)<29>򥿥<EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
Enter <20>򲡤<EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD> :'<,'>w TEST <20>ȤʤäƤ<C3A4><C6A4><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
5. Vim <20><> TEST <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򤵤줿<F2A4B5A4>Ԥ<EFBFBD><D4A4>񤭹<EFBFBD><F1A4ADB9><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><E7A4A6>
@@ -772,7 +772,7 @@ Note: a, i
3. <20>ִ<EFBFBD><D6B4><EFBFBD>ɤ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> <ESC> <20>򲡤<EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ԤλĤ꤬<C4A4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ʤ<EFBFBD><CAA4>ޤޤ<DEA4>
<20>ʤ뤳<CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
5. <20>Ĥä<C4A4> xxx <20>򥹥ƥåפ򷫤<D7A4><F2B7ABA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><E7A4A6>
4. <20>Ĥä<C4A4> xxx <20>򥹥ƥåפ򷫤<D7A4><F2B7ABA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><E7A4A6>
---> Adding 123 to xxx gives you xxx.
---> Adding 123 to 456 gives you 579.
@@ -869,10 +869,10 @@ Note: 1
":help" <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ˰<C9A4><CBB0><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>Ȥˤ<C8A4><CBA4><EFBFBD><EAA1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD>Υإ<CEA5><D8A5>פ򸫤Ĥ<F2B8ABA4><C4A4><EFBFBD><EBA4B3>
<20><><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<DFA4><DEA4>礦(<ENTER> <20>򥿥<EFBFBD><F2A5BFA5>פ<EFBFBD>˺<EFBFBD><CBBA><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><E8A4A6>):
:help w
:help c_<T
:help insert-index
:help user-manual
:help w
:help c_CTRL-D
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 7.2: <20><>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȤκ<C8A4><CEBA><EFBFBD>
@@ -947,7 +947,7 @@ NOTE:
<20><><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> Vim <20>Υ<EFBFBD><CEA5><EFBFBD>ȥꥢ<C8A5><EAA5A2><EFBFBD>򽪤<EFBFBD><F2BDAAA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⽼ʬ<E2BDBC><CAAC>
<20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD>ˤȡ<CBA4>Vim <20>λ<EFBFBD><CEBB>ij<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τߤ<CEA4><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
Vim <20>ˤϤ<CBA4><CFA4><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EAA1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤϤǤ<CFA4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
<20>ʹߤϥ桼<CFA5><E6A1BC><EFBFBD>ޥ˥奢<CBA5><E5A5A2><EFBFBD>򻲾Ȥ<F2BBB2BE><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "help :user-manual"
<20>ʹߤϥ桼<CFA5><E6A1BC><EFBFBD>ޥ˥奢<CBA5><E5A5A2><EFBFBD>򻲾Ȥ<F2BBB2BE><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ":help user-manual"
<20><><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>γؽ<CEB3><D8BD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܤ<EFBFBD><DCA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
Vim - Vi Improved - by Steve Oualline

View File

@@ -541,7 +541,7 @@ Note:
4. <20>ŏ<EFBFBD><C58F>̊<EFBFBD><CC8A>ʂɈړ<C988><DA93><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD> % <20>ƃ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82><EFBFBD>B
5. <20><><EFBFBD><EFBFBD> (,),[,],{ or } <20>ŃJ<C583>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>A% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD>m<EFBFBD>F<EFBFBD><46><EFBFBD>܂<EFBFBD><DC82><EFBFBD>B
5. <20><><EFBFBD><EFBFBD> (,),[,],{ <EFBFBD><EFBFBD> } <20>ŃJ<C583>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>A% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD>m<EFBFBD>F<EFBFBD><46><EFBFBD>܂<EFBFBD><DC82><EFBFBD>B
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
@@ -655,7 +655,7 @@ Note:
3. <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<C681><41><EFBFBD>ʂ̍ʼn<CC8D><C589><EFBFBD><EFBFBD><EFBFBD> :'<,'> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
4. w TEST (TESET <20>͑<EFBFBD><CD91>݂<EFBFBD><DD82>Ȃ<EFBFBD><C882>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD>)<29><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>B
4. w TEST (TEST <20>͑<EFBFBD><CD91>݂<EFBFBD><DD82>Ȃ<EFBFBD><C882>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD>)<29><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>B
Enter <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><4F> :'<,'>w TEST <20>ƂȂ<C682><C882>Ă<EFBFBD><C482><EFBFBD>Ƃ<EFBFBD><C682>m<EFBFBD>F<EFBFBD><46><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
5. Vim <20><> TEST <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>ɑI<C991><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ނł<DE82><C582><EFBFBD>B
@@ -772,7 +772,7 @@ Note: a, i
3. <20>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>𔲂<EFBFBD><F094B282><EFBFBD><EFBFBD>ɂ<EFBFBD> <ESC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>s<EFBFBD>̎c<CC8E><EFBFBD>ύX<CF8D><58><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>Ȃ<EFBFBD><C882>܂܂<DC82>
<20>Ȃ邱<C882>Ƃɒ<C682><C992>ӂ<EFBFBD><D382>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
5. <20>c<EFBFBD><63><EFBFBD><EFBFBD> xxx <20><><EFBFBD>X<EFBFBD>e<EFBFBD>b<EFBFBD>v<EFBFBD><76><EFBFBD>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>Ēu<C492><75><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>B
4. <20>c<EFBFBD><63><EFBFBD><EFBFBD> xxx <20><><EFBFBD>X<EFBFBD>e<EFBFBD>b<EFBFBD>v<EFBFBD><76><EFBFBD>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>Ēu<C492><75><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>B
---> Adding 123 to xxx gives you xxx.
---> Adding 123 to 456 gives you 579.
@@ -869,10 +869,10 @@ Note: 1
":help" <20>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD>Ɉ<EFBFBD><C988><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E><><EFBFBD><EFBFBD>Ƃɂ<C682><C982><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̃w<CC83><77><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>‚<EFBFBD><C282><EFBFBD><E982B1>
<20><><EFBFBD>ł<EFBFBD><C582>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă݂܂<DD82><DC82>傤(<ENTER> <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>Y<EFBFBD><59><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><E682A4>):
:help w
:help c_<T
:help insert-index
:help user-manual
:help w
:help c_CTRL-D
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<20><><EFBFBD>b<EFBFBD>X<EFBFBD><58> 7.2: <20>N<EFBFBD><4E><EFBFBD>X<EFBFBD>N<EFBFBD><4E><EFBFBD>v<EFBFBD>g<EFBFBD>̍쐬
@@ -947,7 +947,7 @@ NOTE:
<20><><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD> Vim <20>̃`<60><><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>G<EFBFBD>f<EFBFBD>B<EFBFBD>^<5E><><EFBFBD>ȒP<C892>ɁA<C981><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD><EFBFBD>
<20>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD>ɂƁAVim <20>̎<EFBFBD><CC8E>ŠT<C28A>O<EFBFBD>̗v<CC97>_<EFBFBD>݂̂<CC82><DD82>`<60><><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
Vim <20>ɂ͂<C982><CD82><EFBFBD><EFBFBD>ɑ<EFBFBD><C991><EFBFBD><EFBFBD>̃R<CC83>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>őS<C591>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ͂ł<CD82><C582>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
<20>ȍ~<7E>̓<EFBFBD><CD83>[<5B>U<EFBFBD>}<7D>j<EFBFBD><6A><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "help :user-manual"
<20>ȍ~<7E>̓<EFBFBD><CD83>[<5B>U<EFBFBD>}<7D>j<EFBFBD><6A><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ":help user-manual"
<20><><EFBFBD><EFBFBD><EFBFBD>Ȍ<EFBFBD><C88C>̊w<CC8A>K<EFBFBD>̂<EFBFBD><CC82>߂ɁA<C981><41><EFBFBD>̖{<7B>𐄑E<F0908491><45><EFBFBD>܂<EFBFBD><DC82>B
Vim - Vi Improved - by Steve Oualline

View File

@@ -541,7 +541,7 @@ Note: 検索がファイルの終わりに達すると、オプション 'wrapsc
4. 最初の括弧に移動するには % とタイプしましょう。
5. 他の (,),[,],{ or } でカーソルを移動し、% が何をしているか確認しましょう。
5. 他の (,),[,],{ } でカーソルを移動し、% が何をしているか確認しましょう。
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
@@ -655,7 +655,7 @@ Note: ここで Vim を終了し、ファイル名 TEST と共に起動すると
3. 文字 : を押すと、画面の最下部に :'<,'> が現れます。
4. w TEST (TESET は存在しないファイル名)をタイプします。
4. w TEST (TEST は存在しないファイル名)をタイプします。
Enter を押す前に :'<,'>w TEST となっていることを確認して下さい。
5. Vim は TEST というファイルに選択された行を書き込むでしょう。
@@ -772,7 +772,7 @@ Note: a, i と A は同じ挿入モードへ移りますが、文字が挿入さ
3. 置換モードを抜けるには <ESC> を押します。行の残りが変更されていないままに
なることに注意してください。
5. 残った xxx をステップを繰り返して置換しましょう。
4. 残った xxx をステップを繰り返して置換しましょう。
---> Adding 123 to xxx gives you xxx.
---> Adding 123 to 456 gives you 579.
@@ -869,10 +869,10 @@ Note: 1つの検索コマンドだけ大文字小文字の区別をやめたい
":help" コマンドに引数を与えることにより、あらゆる題名のヘルプを見つけること
ができます。これらを試してみましょう(<ENTER> をタイプし忘れないように):
:help w
:help c_<T
:help insert-index
:help user-manual
:help w
:help c_CTRL-D
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
レッスン 7.2: 起動スクリプトの作成
@@ -947,7 +947,7 @@ NOTE: 補完は多くのコマンドで動作します。そして CTRL-D と <T
これにて Vim のチュートリアルを終わります。エディタを簡単に、しかも充分に
使うことができるようにと、Vim の持つ概念の要点のみを伝えようとしました。
Vim にはさらに多くのコマンドがあり、ここで全てを説明することはできません。
以降はユーザマニュアルを参照ください: "help :user-manual"
以降はユーザマニュアルを参照ください: ":help user-manual"
これ以後の学習のために、次の本を推薦します。
Vim - Vi Improved - by Steve Oualline

View File

@@ -21,7 +21,11 @@
# TCL_VER define to version of TCL being used (83)
# DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes)
# RUBY define to path to Ruby dir to get Ruby support (not defined)
# RUBY_VER define to version of Ruby being used (16)
# RUBY_VER define to version of Ruby being used (16)
# RUBY_VER_LONG same, but in format with dot. (1.6)
# You must set RUBY_VER_LONG when changing RUBY_VER.
# You must set RUBY_API_VER version to RUBY_VER_LONG.
# Don't set ruby API version to RUBY_VER like 191.
# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes)
# MZSCHEME define to path to MzScheme dir to get MZSCHEME support (not defined)
# MZSCHEME_VER define to version of MzScheme being used (209_000)
@@ -217,8 +221,15 @@ RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
endif
endif
ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
RUBY_19_OR_LATER = 1
endif
DEFINES += -DFEAT_RUBY
INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
ifdef RUBY_19_OR_LATER
INCLUDES += -I$(RUBY)/include/ruby-$(RUBY_VER_LONG) -I$(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
endif
EXTRA_OBJS += $(OUTDIR)/if_ruby.o
ifeq (yes, $(DYNAMIC_RUBY))

View File

@@ -301,7 +301,14 @@ RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
endif
endif
RUBYINC =-I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
RUBY_19_OR_LATER = 1
endif
RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
ifdef RUBY_19_OR_LATER
RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
endif
ifeq (no, $(DYNAMIC_RUBY))
RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
endif

33
src/auto/configure vendored
View File

@@ -4957,26 +4957,49 @@ $as_echo "no" >&6; }
MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${vi_cv_path_mzscheme_pfx}/lib"
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for racket collects directory" >&5
$as_echo_n "checking for racket collects directory... " >&6; }
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
SCHEME_COLLECTS=lib/plt/
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/plt/
else
if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
SCHEME_COLLECTS=lib/racket/
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/racket/
else
if test -d $vi_cv_path_mzscheme_pfx/share/racket/collects; then
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/share/racket/
fi
fi
fi
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
if test "X$SCHEME_COLLECTS" != "X" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${SCHEME_COLLECTS}" >&5
$as_echo "${SCHEME_COLLECTS}" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mzscheme_base.c" >&5
$as_echo_n "checking for mzscheme_base.c... " >&6; }
if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
MZSCHEME_EXTRA="mzscheme_base.c"
else
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
MZSCHEME_EXTRA="mzscheme_base.c"
fi
fi
if test "X$MZSCHEME_EXTRA" != "X" ; then
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: needed" >&5
$as_echo "needed" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed" >&5
$as_echo "not needed" >&6; }
fi
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
-DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'"
-DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'"
MZSCHEME_SRC="if_mzsch.c"
MZSCHEME_OBJ="objects/if_mzsch.o"
MZSCHEME_PRO="if_mzsch.pro"

View File

@@ -650,17 +650,30 @@ if test "$enable_mzschemeinterp" = "yes"; then
MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${vi_cv_path_mzscheme_pfx}/lib"
fi
fi
AC_MSG_CHECKING(for racket collects directory)
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
SCHEME_COLLECTS=lib/plt/
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/plt/
else
if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
SCHEME_COLLECTS=lib/racket/
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/racket/
else
if test -d $vi_cv_path_mzscheme_pfx/share/racket/collects; then
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/share/racket/
fi
fi
fi
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
if test "X$SCHEME_COLLECTS" != "X" ; then
AC_MSG_RESULT(${SCHEME_COLLECTS})
else
AC_MSG_RESULT(not found)
fi
AC_MSG_CHECKING(for mzscheme_base.c)
if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
MZSCHEME_EXTRA="mzscheme_base.c"
else
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
MZSCHEME_EXTRA="mzscheme_base.c"
fi
fi
@@ -668,9 +681,13 @@ if test "$enable_mzschemeinterp" = "yes"; then
dnl need to generate bytecode for MzScheme base
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
AC_MSG_RESULT(needed)
else
AC_MSG_RESULT(not needed)
fi
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
-DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'"
-DMZSCHEME_COLLECTS='\"${SCHEME_COLLECTS}collects\"'"
MZSCHEME_SRC="if_mzsch.c"
MZSCHEME_OBJ="objects/if_mzsch.o"
MZSCHEME_PRO="if_mzsch.pro"

View File

@@ -668,6 +668,8 @@ static void f_reverse __ARGS((typval_T *argvars, typval_T *rettv));
#ifdef FEAT_FLOAT
static void f_round __ARGS((typval_T *argvars, typval_T *rettv));
#endif
static void f_screencol __ARGS((typval_T *argvars, typval_T *rettv));
static void f_screenrow __ARGS((typval_T *argvars, typval_T *rettv));
static void f_search __ARGS((typval_T *argvars, typval_T *rettv));
static void f_searchdecl __ARGS((typval_T *argvars, typval_T *rettv));
static void f_searchpair __ARGS((typval_T *argvars, typval_T *rettv));
@@ -8033,6 +8035,8 @@ static struct fst
#ifdef FEAT_FLOAT
{"round", 1, 1, f_round},
#endif
{"screencol", 0, 0, f_screencol},
{"screenrow", 0, 0, f_screenrow},
{"search", 1, 4, f_search},
{"searchdecl", 1, 3, f_searchdecl},
{"searchpair", 3, 7, f_searchpair},
@@ -15724,6 +15728,30 @@ f_round(argvars, rettv)
}
#endif
/*
* "screencol()" function
*
* First column is 1 to be consistent with virtcol().
*/
static void
f_screencol(argvars, rettv)
typval_T *argvars UNUSED;
typval_T *rettv;
{
rettv->vval.v_number = screen_screencol() + 1;
}
/*
* "screenrow()" function
*/
static void
f_screenrow(argvars, rettv)
typval_T *argvars UNUSED;
typval_T *rettv;
{
rettv->vval.v_number = screen_screenrow() + 1;
}
/*
* "search()" function
*/
@@ -16292,7 +16320,8 @@ set_qf_ll_list(wp, list_arg, action_arg, rettv)
action = *act;
}
if (l != NULL && set_errorlist(wp, l, action, NULL) == OK)
if (l != NULL && set_errorlist(wp, l, action,
(char_u *)(wp == NULL ? "setqflist()" : "setloclist()")) == OK)
rettv->vval.v_number = 0;
}
#endif

View File

@@ -6344,10 +6344,10 @@ ex_helptags(eap)
}
#ifdef FEAT_MULTI_LANG
/* Get a list of all files in the directory. */
/* Get a list of all files in the help directory and in subdirectories. */
STRCPY(NameBuff, dirname);
add_pathsep(NameBuff);
STRCAT(NameBuff, "*");
STRCAT(NameBuff, "**");
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
EW_FILE|EW_SILENT) == FAIL
|| filecount == 0)
@@ -6436,8 +6436,8 @@ ex_helptags(eap)
helptags_one(dir, ext, tagfname, add_help_tags)
char_u *dir; /* doc directory */
char_u *ext; /* suffix, ".txt", ".itx", ".frx", etc. */
char_u *tagfname; /* "tags" for English, "tags-fr" for French. */
int add_help_tags; /* add "help-tags" tag */
char_u *tagfname; /* "tags" for English, "tags-fr" for French. */
int add_help_tags; /* add "help-tags" tag */
{
FILE *fd_tags;
FILE *fd;
@@ -6449,6 +6449,7 @@ helptags_one(dir, ext, tagfname, add_help_tags)
char_u *s;
int i;
char_u *fname;
int dirlen;
# ifdef FEAT_MBYTE
int utf8 = MAYBE;
int this_utf8;
@@ -6459,9 +6460,9 @@ helptags_one(dir, ext, tagfname, add_help_tags)
/*
* Find all *.txt files.
*/
dirlen = (int)STRLEN(dir);
STRCPY(NameBuff, dir);
add_pathsep(NameBuff);
STRCAT(NameBuff, "*");
STRCAT(NameBuff, "/**/*");
STRCAT(NameBuff, ext);
if (gen_expand_wildcards(1, &NameBuff, &filecount, &files,
EW_FILE|EW_SILENT) == FAIL
@@ -6522,7 +6523,7 @@ helptags_one(dir, ext, tagfname, add_help_tags)
EMSG2(_("E153: Unable to open %s for reading"), files[fi]);
continue;
}
fname = gettail(files[fi]);
fname = files[fi] + dirlen + 1;
# ifdef FEAT_MBYTE
firstline = TRUE;

View File

@@ -1528,7 +1528,9 @@ do_cmdline(cmdline, fgetline, cookie, flags)
}
}
#ifndef FEAT_EVAL
#ifdef FEAT_EVAL
did_endif = FALSE; /* in case do_cmdline used recursively */
#else
/*
* Reset if_level, in case a sourced script file contains more ":if" than
* ":endif" (could be ":if x | foo | endif").

View File

@@ -102,7 +102,7 @@ static void cmdline_del __ARGS((int from));
static void redrawcmdprompt __ARGS((void));
static void cursorcmd __ARGS((void));
static int ccheck_abbr __ARGS((int));
static int nextwild __ARGS((expand_T *xp, int type, int options));
static int nextwild __ARGS((expand_T *xp, int type, int options, int escape));
static void escape_fname __ARGS((char_u **pp));
static int showmatches __ARGS((expand_T *xp, int wildmenu));
static void set_expand_context __ARGS((expand_T *xp));
@@ -810,9 +810,11 @@ getcmdline(firstc, count, indent)
did_wild_list = TRUE;
}
if (wim_flags[wim_index] & WIM_LONGEST)
res = nextwild(&xpc, WILD_LONGEST, WILD_NO_BEEP);
res = nextwild(&xpc, WILD_LONGEST, WILD_NO_BEEP,
firstc != '@');
else if (wim_flags[wim_index] & WIM_FULL)
res = nextwild(&xpc, WILD_NEXT, WILD_NO_BEEP);
res = nextwild(&xpc, WILD_NEXT, WILD_NO_BEEP,
firstc != '@');
else
res = OK; /* don't insert 'wildchar' now */
}
@@ -823,9 +825,11 @@ getcmdline(firstc, count, indent)
/* if 'wildmode' first contains "longest", get longest
* common part */
if (wim_flags[0] & WIM_LONGEST)
res = nextwild(&xpc, WILD_LONGEST, WILD_NO_BEEP);
res = nextwild(&xpc, WILD_LONGEST, WILD_NO_BEEP,
firstc != '@');
else
res = nextwild(&xpc, WILD_EXPAND_KEEP, WILD_NO_BEEP);
res = nextwild(&xpc, WILD_EXPAND_KEEP, WILD_NO_BEEP,
firstc != '@');
/* if interrupted while completing, behave like it failed */
if (got_int)
@@ -860,7 +864,8 @@ getcmdline(firstc, count, indent)
int p_wmnu_save = p_wmnu;
p_wmnu = 0;
#endif
nextwild(&xpc, WILD_PREV, 0); /* remove match */
/* remove match */
nextwild(&xpc, WILD_PREV, 0, firstc != '@');
#ifdef FEAT_WILDMENU
p_wmnu = p_wmnu_save;
#endif
@@ -874,9 +879,11 @@ getcmdline(firstc, count, indent)
redrawcmd();
did_wild_list = TRUE;
if (wim_flags[wim_index] & WIM_LONGEST)
nextwild(&xpc, WILD_LONGEST, WILD_NO_BEEP);
nextwild(&xpc, WILD_LONGEST, WILD_NO_BEEP,
firstc != '@');
else if (wim_flags[wim_index] & WIM_FULL)
nextwild(&xpc, WILD_NEXT, WILD_NO_BEEP);
nextwild(&xpc, WILD_NEXT, WILD_NO_BEEP,
firstc != '@');
}
else
vim_beep();
@@ -899,9 +906,9 @@ getcmdline(firstc, count, indent)
/* <S-Tab> goes to last match, in a clumsy way */
if (c == K_S_TAB && KeyTyped)
{
if (nextwild(&xpc, WILD_EXPAND_KEEP, 0) == OK
&& nextwild(&xpc, WILD_PREV, 0) == OK
&& nextwild(&xpc, WILD_PREV, 0) == OK)
if (nextwild(&xpc, WILD_EXPAND_KEEP, 0, firstc != '@') == OK
&& nextwild(&xpc, WILD_PREV, 0, firstc != '@') == OK
&& nextwild(&xpc, WILD_PREV, 0, firstc != '@') == OK)
goto cmdline_changed;
}
@@ -1418,7 +1425,7 @@ getcmdline(firstc, count, indent)
goto cmdline_not_changed;
case Ctrl_A: /* all matches */
if (nextwild(&xpc, WILD_ALL, 0) == FAIL)
if (nextwild(&xpc, WILD_ALL, 0, firstc != '@') == FAIL)
break;
goto cmdline_changed;
@@ -1454,7 +1461,7 @@ getcmdline(firstc, count, indent)
#endif
/* completion: longest common part */
if (nextwild(&xpc, WILD_LONGEST, 0) == FAIL)
if (nextwild(&xpc, WILD_LONGEST, 0, firstc != '@') == FAIL)
break;
goto cmdline_changed;
@@ -1462,8 +1469,8 @@ getcmdline(firstc, count, indent)
case Ctrl_P: /* previous match */
if (xpc.xp_numfiles > 0)
{
if (nextwild(&xpc, (c == Ctrl_P) ? WILD_PREV : WILD_NEXT, 0)
== FAIL)
if (nextwild(&xpc, (c == Ctrl_P) ? WILD_PREV : WILD_NEXT,
0, firstc != '@') == FAIL)
break;
goto cmdline_changed;
}
@@ -3338,10 +3345,11 @@ sort_func_compare(s1, s2)
* normal character (instead of being expanded). This allows :s/^I^D etc.
*/
static int
nextwild(xp, type, options)
nextwild(xp, type, options, escape)
expand_T *xp;
int type;
int options; /* extra options for ExpandOne() */
int escape; /* if TRUE, escape the returned matches */
{
int i, j;
char_u *p1;
@@ -3390,7 +3398,9 @@ nextwild(xp, type, options)
else
{
int use_options = options |
WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE;
WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT;
if (escape)
use_options |= WILD_ESCAPE;
if (p_wic)
use_options += WILD_ICASE;

View File

@@ -138,7 +138,7 @@ hash_lookup(ht, key, hash)
hash_T perturb;
hashitem_T *freeitem;
hashitem_T *hi;
int idx;
unsigned idx;
#ifdef HT_DEBUG
++hash_count_lookup;
@@ -150,7 +150,7 @@ hash_lookup(ht, key, hash)
* - skip over a removed item
* - return if the item matches
*/
idx = (int)(hash & ht->ht_mask);
idx = (unsigned)(hash & ht->ht_mask);
hi = &ht->ht_array[idx];
if (hi->hi_key == NULL)
@@ -176,7 +176,7 @@ hash_lookup(ht, key, hash)
#ifdef HT_DEBUG
++hash_count_perturb; /* count a "miss" for hashtab lookup */
#endif
idx = (int)((idx << 2) + idx + perturb + 1);
idx = (unsigned)((idx << 2U) + idx + perturb + 1U);
hi = &ht->ht_array[idx & ht->ht_mask];
if (hi->hi_key == NULL)
return freeitem == NULL ? hi : freeitem;
@@ -342,7 +342,7 @@ hash_may_resize(ht, minitems)
hashitem_T temparray[HT_INIT_SIZE];
hashitem_T *oldarray, *newarray;
hashitem_T *olditem, *newitem;
int newi;
unsigned newi;
int todo;
long_u oldsize, newsize;
long_u minsize;
@@ -448,13 +448,13 @@ hash_may_resize(ht, minitems)
* the algorithm to find an item in hash_lookup(). But we only
* need to search for a NULL key, thus it's simpler.
*/
newi = (int)(olditem->hi_hash & newmask);
newi = (unsigned)(olditem->hi_hash & newmask);
newitem = &newarray[newi];
if (newitem->hi_key != NULL)
for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
{
newi = (int)((newi << 2) + newi + perturb + 1);
newi = (unsigned)((newi << 2U) + newi + perturb + 1U);
newitem = &newarray[newi & newmask];
if (newitem->hi_key == NULL)
break;

View File

@@ -142,7 +142,7 @@ static int vim_error_check(void);
static int do_mzscheme_command(exarg_T *, void *, Scheme_Closed_Prim *what);
static void startup_mzscheme(void);
static char *string_to_line(Scheme_Object *obj);
static void do_output(char *mesg, long len);
static void do_output(char *mesg, intptr_t len);
static void do_printf(char *format, ...);
static void do_flush(void);
static Scheme_Object *_apply_thunk_catch_exceptions(
@@ -1349,8 +1349,9 @@ do_intrnl_output(char *mesg, int error)
}
static void
do_output(char *mesg, long len UNUSED)
do_output(char *mesg, intptr_t len UNUSED)
{
/* TODO: use len, the string may not be NUL terminated */
do_intrnl_output(mesg, 0);
}
@@ -1370,7 +1371,7 @@ do_printf(char *format, ...)
do_flush(void)
{
char *buff;
long length;
intptr_t length;
buff = scheme_get_sized_string_output(curerr, &length);
MZ_GC_CHECK();
@@ -2588,7 +2589,7 @@ string_to_line(Scheme_Object *obj)
{
char *scheme_str = NULL;
char *vim_str = NULL;
long len;
intptr_t len;
int i;
scheme_str = scheme_display_to_string(obj, &len);
@@ -2597,10 +2598,10 @@ string_to_line(Scheme_Object *obj)
* are replacing a single line, and we must replace it with
* a single line.
*/
if (memchr(scheme_str, '\n', len))
if (memchr(scheme_str, '\n', (size_t)len))
scheme_signal_error(_("string cannot contain newlines"));
vim_str = (char *)alloc(len + 1);
vim_str = (char *)alloc((int)(len + 1));
/* Create a copy of the string, with internal nulls replaced by
* newline characters, as is the vim convention.

View File

@@ -520,7 +520,13 @@ VimStrwidth(PyObject *self UNUSED, PyObject *args)
if (!PyArg_ParseTuple(args, "s", &expr))
return NULL;
return PyLong_FromLong(mb_string2cells((char_u *)expr, (int)STRLEN(expr)));
return PyLong_FromLong(
#ifdef FEAT_MBYTE
mb_string2cells((char_u *)expr, (int)STRLEN(expr))
#else
STRLEN(expr)
#endif
);
}
/*

View File

@@ -657,7 +657,7 @@ static Py_ssize_t RangeEnd;
static PyObject *globals;
static int PythonIO_Init(void);
PyMODINIT_FUNC Py3Init_vim(void);
static PyObject *Py3Init_vim(void);
/******************************************************
* 1. Python interpreter main program.
@@ -1773,8 +1773,8 @@ PyDoc_STRVAR(vim_module_doc,"vim python interface\n");
static struct PyModuleDef vimmodule;
#ifndef PROTO
PyMODINIT_FUNC Py3Init_vim(void)
static PyObject *
Py3Init_vim(void)
{
PyObject *mod;
PyObject *tmp;
@@ -1824,7 +1824,6 @@ PyMODINIT_FUNC Py3Init_vim(void)
return mod;
}
#endif
/*************************************************************************
* 4. Utility functions for handling the interface between Vim and Python.

View File

@@ -335,12 +335,12 @@ static void (*ruby_init_stack)(VALUE*);
static void* (*ruby_process_options)(int, char**);
#endif
#ifdef RUBY19_OR_LATER
static SIGNED_VALUE rb_num2long_stub(VALUE x)
#if defined(RUBY19_OR_LATER) && !defined(PROTO)
SIGNED_VALUE rb_num2long_stub(VALUE x)
{
return dll_rb_num2long(x);
}
static VALUE rb_int2big_stub(SIGNED_VALUE x)
VALUE rb_int2big_stub(SIGNED_VALUE x)
{
return dll_rb_int2big(x);
}

View File

@@ -147,8 +147,8 @@ static char *(main_errors[]) =
#define ME_INVALID_ARG 5
};
#ifndef NO_VIM_MAIN /* skip this for unittests */
#ifndef PROTO /* don't want a prototype for main() */
#ifndef NO_VIM_MAIN /* skip this for unittests */
int
# ifdef VIMDLL
_export
@@ -570,15 +570,27 @@ main
return mzscheme_main(2, args);
}
}
#endif
#endif /* NO_VIM_MAIN */
int vim_main2(int argc, char **argv)
/* vim_main2() needs to be produced when FEAT_MZSCHEME is defined even when
* NO_VIM_MAIN is defined. */
#ifdef FEAT_MZSCHEME
int
vim_main2(int argc UNUSED, char **argv UNUSED)
{
# ifndef NO_VIM_MAIN
char_u *fname = (char_u *)argv[0];
mparm_T params;
memcpy(&params, argv[1], sizeof(params));
# else
return 0;
}
# endif
#endif
#ifndef NO_VIM_MAIN
/* Execute --cmd arguments. */
exe_pre_commands(&params);
@@ -999,8 +1011,8 @@ int vim_main2(int argc, char **argv)
return 0;
}
#endif /* PROTO */
#endif /* NO_VIM_MAIN */
#endif /* PROTO */
/*
* Main loop: Execute Normal mode commands until exiting Vim.

View File

@@ -3860,7 +3860,7 @@ static ulg keys[3]; /* keys defining the pseudo-random sequence */
ush temp; \
\
temp = (ush)keys[2] | 2; \
t = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff); \
t = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff); \
}
/*
@@ -4002,7 +4002,7 @@ crypt_decode(ptr, len)
ush temp;
temp = (ush)keys[2] | 2;
temp = (int)(((unsigned)(temp * (temp ^ 1)) >> 8) & 0xff);
temp = (int)(((unsigned)(temp * (temp ^ 1U)) >> 8) & 0xff);
UPDATE_KEYS_ZIP(*p ^= temp);
}
else

View File

@@ -2576,7 +2576,7 @@ get_scroll_overlap(lp, dir)
else
topline_back(lp);
h2 = lp->height;
if (h2 + h1 > min_height)
if (h2 == MAXCOL || h2 + h1 > min_height)
{
*lp = loff0; /* no overlap */
return;
@@ -2588,7 +2588,7 @@ get_scroll_overlap(lp, dir)
else
topline_back(lp);
h3 = lp->height;
if (h3 + h2 > min_height)
if (h3 == MAXCOL || h3 + h2 > min_height)
{
*lp = loff0; /* no overlap */
return;
@@ -2600,7 +2600,7 @@ get_scroll_overlap(lp, dir)
else
topline_back(lp);
h4 = lp->height;
if (h4 + h3 + h2 > min_height || h3 + h2 + h1 > min_height)
if (h4 == MAXCOL || h4 + h3 + h2 > min_height || h3 + h2 + h1 > min_height)
*lp = loff1; /* 1 line overlap */
else
*lp = loff2; /* 2 lines overlap */

View File

@@ -11178,6 +11178,19 @@ option_was_set(name)
return FALSE;
}
/*
* Reset the flag indicating option "name" was set.
*/
void
reset_option_was_set(name)
char_u *name;
{
int idx = findoption(name);
if (idx >= 0)
options[idx].flags &= ~P_WAS_SET;
}
/*
* compatible_set() - Called when 'compatible' has been set or unset.
*

View File

@@ -52,6 +52,7 @@ int shortmess __ARGS((int x));
void vimrc_found __ARGS((char_u *fname, char_u *envname));
void change_compatible __ARGS((int on));
int option_was_set __ARGS((char_u *name));
void reset_option_was_set __ARGS((char_u *name));
int can_bs __ARGS((int what));
void save_file_ff __ARGS((buf_T *buf));
int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));

View File

@@ -50,4 +50,6 @@ int redrawing __ARGS((void));
int messaging __ARGS((void));
void showruler __ARGS((int always));
int number_width __ARGS((win_T *wp));
int screen_screencol __ARGS((void));
int screen_screenrow __ARGS((void));
/* vim: set ft=c : */

View File

@@ -107,7 +107,7 @@ struct efm_S
};
static int qf_init_ext __ARGS((qf_info_T *qi, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast, char_u *qf_title));
static void qf_new_list __ARGS((qf_info_T *qi, char_u *qf_title, win_T *wp));
static void qf_new_list __ARGS((qf_info_T *qi, char_u *qf_title));
static void ll_free_all __ARGS((qf_info_T **pqi));
static int qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid));
static qf_info_T *ll_new_list __ARGS((void));
@@ -266,7 +266,7 @@ qf_init_ext(qi, efile, buf, tv, errorformat, newlist, lnumfirst, lnumlast,
if (newlist || qi->qf_curlist == qi->qf_listcount)
/* make place for a new list */
qf_new_list(qi, qf_title, curwin);
qf_new_list(qi, qf_title);
else if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
/* Adding to existing list, find last entry. */
for (qfprev = qi->qf_lists[qi->qf_curlist].qf_start;
@@ -885,10 +885,9 @@ qf_init_end:
* Prepare for adding a new quickfix list.
*/
static void
qf_new_list(qi, qf_title, wp)
qf_new_list(qi, qf_title)
qf_info_T *qi;
char_u *qf_title;
win_T *wp;
{
int i;
@@ -898,11 +897,7 @@ qf_new_list(qi, qf_title, wp)
* way with ":grep'.
*/
while (qi->qf_listcount > qi->qf_curlist + 1)
{
if (wp != NULL && wp->w_llist == qi)
wp->w_llist = NULL;
qf_free(qi, --qi->qf_listcount);
}
/*
* When the stack is full, remove to oldest entry
@@ -910,8 +905,6 @@ qf_new_list(qi, qf_title, wp)
*/
if (qi->qf_listcount == LISTCOUNT)
{
if (wp != NULL && wp->w_llist == qi)
wp->w_llist = NULL;
qf_free(qi, 0);
for (i = 1; i < LISTCOUNT; ++i)
qi->qf_lists[i - 1] = qi->qf_lists[i];
@@ -2131,13 +2124,23 @@ qf_free(qi, idx)
int idx;
{
qfline_T *qfp;
int stop = FALSE;
while (qi->qf_lists[idx].qf_count)
{
qfp = qi->qf_lists[idx].qf_start->qf_next;
vim_free(qi->qf_lists[idx].qf_start->qf_text);
vim_free(qi->qf_lists[idx].qf_start->qf_pattern);
vim_free(qi->qf_lists[idx].qf_start);
if (qi->qf_lists[idx].qf_title != NULL && !stop)
{
vim_free(qi->qf_lists[idx].qf_start->qf_text);
stop = (qi->qf_lists[idx].qf_start == qfp);
vim_free(qi->qf_lists[idx].qf_start->qf_pattern);
vim_free(qi->qf_lists[idx].qf_start);
if (stop)
/* Somehow qf_count may have an incorrect value, set it to 1
* to avoid crashing when it's wrong.
* TODO: Avoid qf_count being incorrect. */
qi->qf_lists[idx].qf_count = 1;
}
qi->qf_lists[idx].qf_start = qfp;
--qi->qf_lists[idx].qf_count;
}
@@ -3190,7 +3193,7 @@ ex_vimgrep(eap)
eap->cmdidx != CMD_vimgrepadd && eap->cmdidx != CMD_lvimgrepadd)
|| qi->qf_curlist == qi->qf_listcount)
/* make place for a new list */
qf_new_list(qi, *eap->cmdlinep, curwin);
qf_new_list(qi, *eap->cmdlinep);
else if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
/* Adding to existing list, find last entry. */
for (prevp = qi->qf_lists[qi->qf_curlist].qf_start;
@@ -3519,6 +3522,7 @@ restore_start_dir(dirname_start)
ea.cmdidx = (curwin->w_localdir == NULL) ? CMD_cd : CMD_lcd;
ex_cd(&ea);
}
vim_free(dirname_now);
}
}
@@ -3756,7 +3760,7 @@ set_errorlist(wp, list, action, title)
if (action == ' ' || qi->qf_curlist == qi->qf_listcount)
/* make place for a new list */
qf_new_list(qi, title, wp);
qf_new_list(qi, title);
else if (action == 'a' && qi->qf_lists[qi->qf_curlist].qf_count > 0)
/* Adding to existing list, find last entry. */
for (prevp = qi->qf_lists[qi->qf_curlist].qf_start;
@@ -4038,7 +4042,7 @@ ex_helpgrep(eap)
#endif
/* create a new quickfix list */
qf_new_list(qi, *eap->cmdlinep, wp);
qf_new_list(qi, *eap->cmdlinep);
/* Go through all directories in 'runtimepath' */
p = p_rtp;

View File

@@ -4269,7 +4269,20 @@ win_line(wp, lnum, startrow, endrow, nochange)
{
/* tab amount depends on current column */
n_extra = (int)wp->w_buffer->b_p_ts
- VCOL_HLC % (int)wp->w_buffer->b_p_ts - 1;
- vcol % (int)wp->w_buffer->b_p_ts - 1;
#ifdef FEAT_CONCEAL
/* Tab alignment should be identical regardless of
* 'conceallevel' value. So tab compensates of all
* previous concealed characters, and thus resets vcol_off
* and boguscols accumulated so far in the line. Note that
* the tab can be longer than 'tabstop' when there
* are concealed characters. */
n_extra += vcol_off;
vcol -= vcol_off;
vcol_off = 0;
col -= boguscols;
boguscols = 0;
#endif
#ifdef FEAT_MBYTE
mb_utf8 = FALSE; /* don't draw as UTF-8 */
#endif
@@ -10251,3 +10264,23 @@ number_width(wp)
return n;
}
#endif
/*
* Return the current cursor column. This is the actual position on the
* screen. First column is 0.
*/
int
screen_screencol()
{
return screen_cur_col;
}
/*
* Return the current cursor row. This is the actual position on the screen.
* First row is 0.
*/
int
screen_screenrow()
{
return screen_cur_row;
}

View File

@@ -1864,7 +1864,12 @@ set_termname(term)
}
# endif
if (p != NULL)
{
set_option_value((char_u *)"ttym", 0L, p, 0);
/* Reset the WAS_SET flag, 'ttymouse' can be set to "sgr" or
* "xterm2" in check_termcode(). */
reset_option_was_set((char_u *)"ttym");
}
if (p == NULL
# ifdef FEAT_GUI
|| gui.in_use

View File

@@ -31,7 +31,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test66.out test67.out test68.out test69.out test70.out \
test71.out test72.out test73.out test74.out test75.out \
test76.out test77.out test78.out test79.out test80.out \
test81.out test82.out test83.out test84.out
test81.out test82.out test83.out test84.out test88.out
.SUFFIXES: .in .out
@@ -135,3 +135,4 @@ test81.out: test81.in
test82.out: test82.in
test83.out: test83.in
test84.out: test84.in
test88.out: test88.in

View File

@@ -30,7 +30,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
test68.out test69.out test71.out test72.out test73.out \
test74.out test75.out test76.out test77.out test78.out \
test79.out test80.out test81.out test82.out test83.out \
test84.out test85.out test86.out test87.out
test84.out test85.out test86.out test87.out test88.out
SCRIPTS32 = test50.out test70.out

View File

@@ -50,7 +50,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
test68.out test69.out test71.out test72.out test73.out \
test74.out test75.out test76.out test77.out test78.out \
test79.out test80.out test81.out test82.out test83.out \
test84.out test85.out test86.out test87.out
test84.out test85.out test86.out test87.out test88.out
SCRIPTS32 = test50.out test70.out

View File

@@ -31,7 +31,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test66.out test67.out test68.out test69.out test70.out \
test71.out test72.out test73.out test74.out test75.out \
test76.out test77.out test78.out test79.out test80.out \
test81.out test82.out test83.out test84.out
test81.out test82.out test83.out test84.out test88.out
.SUFFIXES: .in .out

View File

@@ -4,7 +4,7 @@
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
#
# Last change: 2012 Oct 06
# Last change: 2012 Dec 05
#
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
# Edit the lines in the Configuration section below to select.
@@ -76,7 +76,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
test66.out test67.out test68.out test69.out \
test71.out test72.out test74.out test75.out test76.out \
test77.out test78.out test79.out test80.out test81.out \
test82.out test83.out test84.out
test82.out test83.out test84.out test88.out
# Known problems:
# Test 30: a problem around mac format - unknown reason

View File

@@ -13,7 +13,7 @@ VIMPROG = ../vim
SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test7.out test8.out test9.out test10.out test11.out \
test12.out test13.out test14.out test15.out test17.out \
test12.out test13.out test14.out test15.out test17.out \
test18.out test19.out test20.out test21.out test22.out \
test23.out test24.out test25.out test26.out test27.out \
test28.out test29.out test30.out test31.out test32.out \
@@ -27,7 +27,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test69.out test70.out test71.out test72.out test73.out \
test74.out test75.out test76.out test77.out test78.out \
test79.out test80.out test81.out test82.out test83.out \
test84.out test85.out test86.out test87.out
test84.out test85.out test86.out test87.out test88.out
SCRIPTS_GUI = test16.out
@@ -47,12 +47,16 @@ report:
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
RM_ON_RUN = test.out X* viminfo
RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok
RUN_VIM = $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in
clean:
-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok X* valgrind.* viminfo
-rm -rf *.out *.failed *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
test1.out: test1.in
-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok X* viminfo
$(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START)
$(RUN_VIM) $*.in
@/bin/sh -c "if diff test.out $*.ok; \
then mv -f test.out $*.out; \
else echo; \
@@ -61,11 +65,22 @@ test1.out: test1.in
-rm -rf X* viminfo
.in.out:
-rm -rf $*.failed test.ok test.out X* viminfo
-rm -rf $*.failed test.ok $(RM_ON_RUN)
cp $*.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
@-sleep .2
-$(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
-$(RUN_VIM) $*.in
# For flaky tests retry one time.
@/bin/sh -c "if test -f test.out -a $* = test61; then \
if diff test.out $*.ok; \
then echo flaky test ok first time; \
else rm -rf $*.failed $(RM_ON_RUN); \
$(RUN_VIM) $*.in; \
fi \
fi"
# Check if the test.out file matches test.ok.
@/bin/sh -c "if test -f test.out; then\
if diff test.out $*.ok; \
then mv -f test.out $*.out; \

85
src/testdir/test88.in Normal file
View File

@@ -0,0 +1,85 @@
vim: set ft=vim
Tests for correct display (cursor column position) with +conceal and
tabulators.
STARTTEST
:so small.vim
:if !has('conceal')
e! test.ok
wq! test.out
:endif
:" Conceal settings.
:set conceallevel=2
:set concealcursor=nc
:syntax match test /|/ conceal
:" Save current cursor position. Only works in <expr> mode, can't be used
:" with :normal because it moves the cursor to the command line. Thanks to ZyX
:" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
:let positions = []
:nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
:" Start test.
/^start:
:normal ztj
GGk
:" We should end up in the same column when running these commands on the two
:" lines.
:normal ft
GGk
:normal $
GGk
:normal 0j
GGk
:normal ft
GGk
:normal $
GGk
:normal 0j0j
GGk
:" Same for next test block.
:normal ft
GGk
:normal $
GGk
:normal 0j
GGk
:normal ft
GGk
:normal $
GGk
:normal 0j0j
GGk
:" And check W with multiple tabs and conceals in a line.
:normal W
GGk
:normal W
GGk
:normal W
GGk
:normal $
GGk
:normal 0j
GGk
:normal W
GGk
:normal W
GGk
:normal W
GGk
:normal $
GGk
:" Display result.
:call append('$', 'end:')
:call append('$', positions)
:/^end/,$wq! test.out
ENDTEST
start:
.concealed. text
|concealed| text
.concealed. text
|concealed| text
.a. .b. .c. .d.
|a| |b| |c| |d|

23
src/testdir/test88.ok Normal file
View File

@@ -0,0 +1,23 @@
end:
2:1
2:17
2:20
3:1
3:17
3:20
5:8
5:25
5:28
6:8
6:25
6:28
8:1
8:9
8:17
8:25
8:27
9:1
9:9
9:17
9:25
9:26

View File

@@ -725,6 +725,54 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
751,
/**/
750,
/**/
749,
/**/
748,
/**/
747,
/**/
746,
/**/
745,
/**/
744,
/**/
743,
/**/
742,
/**/
741,
/**/
740,
/**/
739,
/**/
738,
/**/
737,
/**/
736,
/**/
735,
/**/
734,
/**/
733,
/**/
732,
/**/
731,
/**/
730,
/**/
729,
/**/
728,
/**/
727,
/**/