1
0
forked from aniani/vim

updated for version 7.0g04

This commit is contained in:
Bram Moolenaar
2006-05-05 21:15:17 +00:00
parent f3a678875f
commit 91170f8ae7
12 changed files with 165 additions and 57 deletions

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.0g. Last change: 2006 Apr 30 *change.txt* For Vim version 7.0g. Last change: 2006 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1429,8 +1429,9 @@ value action ~
"c" automatic formatting for comments, but not text (good for C code) "c" automatic formatting for comments, but not text (good for C code)
"tc" automatic formatting for text and comments "tc" automatic formatting for text and comments
Note that when 'textwidth' is 0, Vim does no formatting anyway (but does Note that when 'textwidth' is 0, Vim does no automatic formatting anyway (but
insert comment leaders according to the 'comments' option). does insert comment leaders according to the 'comments' option). An exception
is when the 'a' flag is present. |auto-format|
Note that when 'paste' is on, Vim does no formatting at all. Note that when 'paste' is on, Vim does no formatting at all.
@@ -1485,6 +1486,9 @@ editing text paragraphs. A few hints on how to use this:
- Add the 'c' flag to only auto-format comments. Useful in source code. - Add the 'c' flag to only auto-format comments. Useful in source code.
- Set 'textwidth' to the desired width. If it is zero then 79 is used, or the
width of the screen if this is smaller.
And a few warnings: And a few warnings:
- When part of the text is not properly separated in paragraphs, making - When part of the text is not properly separated in paragraphs, making

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0g. Last change: 2006 May 04 *eval.txt* For Vim version 7.0g. Last change: 2006 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2346,12 +2346,13 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
exists("##ColorScheme") exists("##ColorScheme")
< There must be no space between the symbol (&/$/*/#) and the < There must be no space between the symbol (&/$/*/#) and the
name. name.
Trailing characters that can't be part of the name are often There must be no extra characters after the name, although in
ignored, but don't depend on it, it may change in the future! a few cases this is ignored. That may become more strict in
Example: > the future, thus don't count on it!
exists("*strftime()") Working example: >
< This currently works, but it should really be: > exists(":make")
exists("*strftime") < NOT working example: >
exists(":make install")
< Note that the argument must be a string, not the name of the < Note that the argument must be a string, not the name of the
variable itself. For example: > variable itself. For example: >
@@ -2678,21 +2679,25 @@ getbufvar({expr}, {varname}) *getbufvar()*
:echo "todo myvar = " . getbufvar("todo", "myvar") :echo "todo myvar = " . getbufvar("todo", "myvar")
< <
getchar([expr]) *getchar()* getchar([expr]) *getchar()*
Get a single character from the user. If it is an 8-bit Get a single character from the user or input stream.
character, the result is a number. Otherwise a String is
returned with the encoded character. For a special key it's a
sequence of bytes starting with 0x80 (decimal: 128).
If [expr] is omitted, wait until a character is available. If [expr] is omitted, wait until a character is available.
If [expr] is 0, only get a character when one is available. If [expr] is 0, only get a character when one is available.
Return zero otherwise.
If [expr] is 1, only check if a character is available, it is If [expr] is 1, only check if a character is available, it is
not consumed. If one is available a non-zero not consumed. Return zero if no character available.
number is returned. For a one-byte character
it is the character itself. Without {expr} and when {expr} is 0 a whole character or
If a normal character available, it is returned as a Number. special key is returned. If it is an 8-bit character, the
Use nr2char() to convert it to a String. result is a number. Use nr2char() to convert it to a String.
The returned value is zero if no character is available. Otherwise a String is returned with the encoded character.
The returned value is a string of characters for special keys For a special key it's a sequence of bytes starting with 0x80
and when a modifier (shift, control, alt) was used. (decimal: 128). The returned value is also a String when a
modifier (shift, control, alt) was used that is not included
in the character.
When {expr} is 1 only the first byte is returned. For a
one-byte character it is the character itself.
There is no prompt, you will somehow have to make clear to the There is no prompt, you will somehow have to make clear to the
user that a character has to be typed. user that a character has to be typed.
There is no mapping for the character. There is no mapping for the character.

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.0g. Last change: 2006 May 04 *help.txt* For Vim version 7.0g. Last change: 2006 May 05
VIM - main help file VIM - main help file
k k
@@ -202,6 +202,12 @@ LOCAL ADDITIONS: *local-additions*
|test.txt| Testing the h<>lp c<>mm<6D>nd n<>w |test.txt| Testing the h<>lp c<>mm<6D>nd n<>w
|typecorr.txt| Plugin for correcting typing mistakes |typecorr.txt| Plugin for correcting typing mistakes
|helpp.txt| Dummy line to avoid an error message |helpp.txt| Dummy line to avoid an error message
|cecutil.txt| DrChip's Utilities Jun 11, 2004
|example.txt| Example for a locally added help file
|matchit.txt| Extended "%" matching
|test.txt| Testing the h<>lp c<>mm<6D>nd n<>w
|typecorr.txt| Plugin for correcting typing mistakes
|helpp.txt| Dummy line to avoid an error message
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*bars* Bars example *bars* Bars example
@@ -210,7 +216,7 @@ Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were. CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
Note that tags are within | characters, but when highlighting is enabled these Note that tags are within | characters, but when highlighting is enabled these
are hidden. That makes it easier to read the command. are hidden. That makes it easier to read a command.
Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it. will try to find help for it.

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.0g. Last change: 2006 May 03 *insert.txt* For Vim version 7.0g. Last change: 2006 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1020,8 +1020,9 @@ items:
info more information about the item, can be displayed in a info more information about the item, can be displayed in a
preview window preview window
kind single letter indicating the type of completion kind single letter indicating the type of completion
icase when non-zero case is to be ignored; when omitted icase when non-zero case is to be ignored when comparing
the 'ignorecase' option is used items to be equal; when omitted zero is used, thus
items that only differ in case are added
dup when non-zero this match will be added even when an dup when non-zero this match will be added even when an
item with the same word is already present. item with the same word is already present.

View File

@@ -1,6 +1,6 @@
" Vim filetype plugin " Vim filetype plugin
" Language: Ruby " Language: Ruby
" Maintainer: Gavin Sinclair <gsinclair at soyabean.com.au> " Maintainer: Gavin Sinclair <gsinclair at gmail.com>
" Info: $Id$ " Info: $Id$
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
@@ -38,7 +38,8 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' . \ '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
\ '\)' . \ '\)' .
\ ':' . \ ':' .
\ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' .
\ ',{:},\[:\],(:)'
let b:match_skip = let b:match_skip =
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" . \ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .

View File

@@ -1,6 +1,7 @@
" Description: html indenter " Description: html indenter
" Author: Johannes Zellner <johannes@zellner.org> " Author: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue, 27 Apr 2004 10:28:39 CEST " Last Change: Tue, 27 Apr 2004 10:28:39 CEST
" Restoring 'cpo' and 'ic' added by Bram 2006 May 5
" Globals: g:html_indent_tags -- indenting tags " Globals: g:html_indent_tags -- indenting tags
" g:html_indent_strict -- inhibit 'O O' elements " g:html_indent_strict -- inhibit 'O O' elements
" g:html_indent_strict_table -- inhibit 'O -' elements " g:html_indent_strict_table -- inhibit 'O -' elements
@@ -116,6 +117,7 @@ endif
delfun <SID>HtmlIndentPush delfun <SID>HtmlIndentPush
let s:cpo_save = &cpo
set cpo-=C set cpo-=C
" [-- count indent-increasing tags of line a:lnum --] " [-- count indent-increasing tags of line a:lnum --]
@@ -183,6 +185,9 @@ fun! HtmlIndentGet(lnum)
\ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nWb') \ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nWb')
\ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nW') \ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nW')
" we're in a line with </pre> or inside <pre> ... </pre> " we're in a line with </pre> or inside <pre> ... </pre>
if restore_ic == 0
setlocal noic
endif
return -1 return -1
endif endif
@@ -192,6 +197,9 @@ fun! HtmlIndentGet(lnum)
\ || 0 < searchpair(js, '', '</script>', 'nW') \ || 0 < searchpair(js, '', '</script>', 'nW')
" we're inside javascript " we're inside javascript
if getline(lnum) !~ js && getline(a:lnum) != '</script>' if getline(lnum) !~ js && getline(a:lnum) != '</script>'
if restore_ic == 0
setlocal noic
endif
return cindent(a:lnum) return cindent(a:lnum)
endif endif
endif endif
@@ -202,6 +210,9 @@ fun! HtmlIndentGet(lnum)
" starting <pre> to restore the indent. " starting <pre> to restore the indent.
let preline = prevnonblank(search('\c<pre>', 'bW') - 1) let preline = prevnonblank(search('\c<pre>', 'bW') - 1)
if preline > 0 if preline > 0
if restore_ic == 0
setlocal noic
endif
return indent(preline) return indent(preline)
endif endif
endif endif
@@ -216,4 +227,7 @@ fun! HtmlIndentGet(lnum)
return indent(lnum) + (&sw * ind) return indent(lnum) + (&sw * ind)
endfun endfun
let &cpo = s:cpo_save
unlet s:cpo_save
" [-- EOF <runtime>/indent/html.vim --] " [-- EOF <runtime>/indent/html.vim --]

View File

@@ -2806,7 +2806,7 @@ ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
ptr = find_word_end(ptr); ptr = find_word_end(ptr);
add_r = ins_compl_add_infercase(regmatch->startp[0], add_r = ins_compl_add_infercase(regmatch->startp[0],
(int)(ptr - regmatch->startp[0]), (int)(ptr - regmatch->startp[0]),
p_ic, files[i], *dir, 0); FALSE, files[i], *dir, 0);
if (thesaurus) if (thesaurus)
{ {
char_u *wstart; char_u *wstart;
@@ -2842,7 +2842,7 @@ ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
ptr = find_word_end(ptr); ptr = find_word_end(ptr);
add_r = ins_compl_add_infercase(wstart, add_r = ins_compl_add_infercase(wstart,
(int)(ptr - wstart), (int)(ptr - wstart),
p_ic, files[i], *dir, 0); FALSE, files[i], *dir, 0);
} }
} }
if (add_r == OK) if (add_r == OK)
@@ -3534,7 +3534,7 @@ ins_compl_add_tv(tv, dir)
int dir; int dir;
{ {
char_u *word; char_u *word;
int icase = p_ic; int icase = FALSE;
int dup = FALSE; int dup = FALSE;
char_u *(cptext[CPT_COUNT]); char_u *(cptext[CPT_COUNT]);
@@ -3753,7 +3753,7 @@ ins_compl_get_exp(ini)
TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0), TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0) TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
{ {
ins_compl_add_matches(num_matches, matches, p_ic); ins_compl_add_matches(num_matches, matches, FALSE);
} }
p_ic = save_p_ic; p_ic = save_p_ic;
break; break;
@@ -3928,7 +3928,7 @@ ins_compl_get_exp(ini)
continue; continue;
} }
} }
if (ins_compl_add_infercase(ptr, len, p_ic, if (ins_compl_add_infercase(ptr, len, FALSE,
ins_buf == curbuf ? NULL : ins_buf->b_sfname, ins_buf == curbuf ? NULL : ins_buf->b_sfname,
0, flags) != NOTDONE) 0, flags) != NOTDONE)
{ {
@@ -5818,7 +5818,7 @@ check_auto_format(end_insert)
*/ */
int int
comp_textwidth(ff) comp_textwidth(ff)
int ff; /* force formatting (for "Q" command) */ int ff; /* force formatting (for "gq" command) */
{ {
int textwidth; int textwidth;

View File

@@ -2221,16 +2221,6 @@ dialog_key_press_event_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
{ {
DialogInfo *di = (DialogInfo *)data; DialogInfo *di = (DialogInfo *)data;
#ifndef HAVE_GTK2
/* Ignore hitting "Enter" if there is no default button. */
if (event->keyval == GDK_Return)
{
if (!di->ignore_enter)
gtk_dialog_response(di->dialog, GTK_RESPONSE_ACCEPT);
return TRUE;
}
#endif
/* Close the dialog when hitting "Esc". */ /* Close the dialog when hitting "Esc". */
if (event->keyval == GDK_Escape) if (event->keyval == GDK_Escape)
{ {

View File

@@ -2626,6 +2626,9 @@ win_line(wp, lnum, startrow, endrow, nochange)
int prev_c = 0; /* previous Arabic character */ int prev_c = 0; /* previous Arabic character */
int prev_c1 = 0; /* first composing char for prev_c */ int prev_c1 = 0; /* first composing char for prev_c */
#endif #endif
#if defined(FEAT_DIFF) || defined(LINE_ATTR)
int did_line_attr = 0;
#endif
/* draw_state: items that are drawn in sequence: */ /* draw_state: items that are drawn in sequence: */
#define WL_START 0 /* nothing done yet */ #define WL_START 0 /* nothing done yet */
@@ -4133,6 +4136,13 @@ win_line(wp, lnum, startrow, endrow, nochange)
/* Highlight until the right side of the window */ /* Highlight until the right side of the window */
c = ' '; c = ' ';
--ptr; /* put it back at the NUL */ --ptr; /* put it back at the NUL */
/* Remember we do the char for line highlighting. */
++did_line_attr;
/* don't do search HL for the rest of the line */
if (line_attr != 0 && char_attr == search_attr && col > 0)
char_attr = line_attr;
# ifdef FEAT_DIFF # ifdef FEAT_DIFF
if (diff_hlf == HLF_TXD) if (diff_hlf == HLF_TXD)
{ {
@@ -4224,22 +4234,34 @@ win_line(wp, lnum, startrow, endrow, nochange)
} }
/* /*
* At end of the text line. * At end of the text line or just after the last character.
*/ */
if (c == NUL) if (c == NUL
#if defined(FEAT_DIFF) || defined(LINE_ATTR)
|| did_line_attr == 1
#endif
)
{ {
#ifdef FEAT_SEARCH_EXTRA
long prevcol = (long)(ptr - line) - (c == NUL);
#endif
/* invert at least one char, used for Visual and empty line or /* invert at least one char, used for Visual and empty line or
* highlight match at end of line. If it's beyond the last * highlight match at end of line. If it's beyond the last
* char on the screen, just overwrite that one (tricky!) Not * char on the screen, just overwrite that one (tricky!) Not
* needed when a '$' was displayed for 'list'. */ * needed when a '$' was displayed for 'list'. */
if (lcs_eol == lcs_eol_one if (lcs_eol == lcs_eol_one
&& ((area_attr != 0 && vcol == fromcol) && ((area_attr != 0 && vcol == fromcol && c == NUL)
#ifdef FEAT_SEARCH_EXTRA #ifdef FEAT_SEARCH_EXTRA
/* highlight 'hlsearch' match at end of line */ /* highlight 'hlsearch' match at end of line */
|| (ptr - line) - 1 == (long)search_hl.startcol || ((prevcol == (long)search_hl.startcol
|| (ptr - line) - 1 == (long)match_hl[0].startcol || prevcol == (long)match_hl[0].startcol
|| (ptr - line) - 1 == (long)match_hl[1].startcol || prevcol == (long)match_hl[1].startcol
|| (ptr - line) - 1 == (long)match_hl[2].startcol || prevcol == (long)match_hl[2].startcol)
# if defined(FEAT_DIFF) || defined(LINE_ATTR)
&& did_line_attr <= 1
# endif
)
#endif #endif
)) ))
{ {
@@ -4297,7 +4319,13 @@ win_line(wp, lnum, startrow, endrow, nochange)
++col; ++col;
++vcol; ++vcol;
} }
}
/*
* At end of the text line.
*/
if (c == NUL)
{
#ifdef FEAT_SYN_HL #ifdef FEAT_SYN_HL
/* Highlight 'cursorcolumn' past end of the line. */ /* Highlight 'cursorcolumn' past end of the line. */
if (wp->w_p_wrap) if (wp->w_p_wrap)

View File

@@ -4871,7 +4871,7 @@ search_line:
goto exit_matched; goto exit_matched;
} }
add_r = ins_compl_add_infercase(aux, i, p_ic, add_r = ins_compl_add_infercase(aux, i, FALSE,
curr_fname == curbuf->b_fname ? NULL : curr_fname, curr_fname == curbuf->b_fname ? NULL : curr_fname,
dir, reuse); dir, reuse);
if (add_r == OK) if (add_r == OK)
@@ -5110,7 +5110,7 @@ show_pat_in_path(line, type, did_show, action, fp, lnum, count)
if (did_show) if (did_show)
msg_putchar('\n'); /* cursor below last one */ msg_putchar('\n'); /* cursor below last one */
else else if (!msg_silent)
gotocmdline(TRUE); /* cursor at status line */ gotocmdline(TRUE); /* cursor at status line */
if (got_int) /* 'q' typed at "--more--" message */ if (got_int) /* 'q' typed at "--more--" message */
return; return;

View File

@@ -18,6 +18,8 @@ endfunction
" valid autocmd group " valid autocmd group
let test_cases += [['#myagroup', 1]] let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage
let test_cases += [['#myagroup+b', 0]]
" Valid autocmd group and event " Valid autocmd group and event
let test_cases += [['#myagroup#BufEnter', 1]] let test_cases += [['#myagroup#BufEnter', 1]]
" Valid autocmd group, event and pattern " Valid autocmd group, event and pattern
@@ -51,6 +53,8 @@ endfunction
let test_cases += [['&textwidth', 1]] let test_cases += [['&textwidth', 1]]
" Existing and working option (short form) " Existing and working option (short form)
let test_cases += [['&tw', 1]] let test_cases += [['&tw', 1]]
" Existing and working option with garbage
let test_cases += [['&tw-', 0]]
" Global option " Global option
let test_cases += [['&g:errorformat', 1]] let test_cases += [['&g:errorformat', 1]]
" Local option " Local option
@@ -64,6 +68,8 @@ endfunction
" Existing and working option (long form) " Existing and working option (long form)
let test_cases += [['+incsearch', 1]] let test_cases += [['+incsearch', 1]]
" Existing and working option with garbage
let test_cases += [['+incsearch!1', 0]]
" Existing and working option (short form) " Existing and working option (short form)
let test_cases += [['+is', 1]] let test_cases += [['+is', 1]]
" Existing option that is hidden. " Existing option that is hidden.
@@ -77,8 +83,12 @@ endfunction
" Valid internal function " Valid internal function
let test_cases += [['*bufnr', 1]] let test_cases += [['*bufnr', 1]]
" Valid internal function with ()
let test_cases += [['*bufnr()', 1]]
" Non-existing internal function " Non-existing internal function
let test_cases += [['*myxyzfunc', 0]] let test_cases += [['*myxyzfunc', 0]]
" Valid internal function with garbage
let test_cases += [['*bufnr&6', 0]]
" Valid user defined function " Valid user defined function
let test_cases += [['*TestExists', 1]] let test_cases += [['*TestExists', 1]]
@@ -100,6 +110,14 @@ endfunction
echo "FAILED" echo "FAILED"
endif endif
" Valid internal command (full match) with garbage
echo ':edit/a: 0'
if exists(':edit/a') == 0
echo "OK"
else
echo "FAILED"
endif
" Valid internal command (partial match) " Valid internal command (partial match)
echo ':q: 1' echo ':q: 1'
if exists(':q') == 1 if exists(':q') == 1
@@ -171,6 +189,15 @@ endfunction
echo "FAILED" echo "FAILED"
endif endif
" Valid local variable with garbage
let local_var = 1
echo 'local_var%n: 0'
if !exists('local_var%n')
echo "OK"
else
echo "FAILED"
endif
" Non-existing local variable " Non-existing local variable
unlet local_var unlet local_var
echo 'local_var: 0' echo 'local_var: 0'
@@ -189,6 +216,30 @@ endfunction
echo "FAILED" echo "FAILED"
endif endif
" Valid local list item
echo 'local_list[1]: 1'
if exists('local_list[1]')
echo "OK"
else
echo "FAILED"
endif
" Valid local list item with garbage
echo 'local_list[1]+5: 0'
if !exists('local_list[1]+5')
echo "OK"
else
echo "FAILED"
endif
" Invalid local list item
echo 'local_list[2]: 0'
if !exists('local_list[2]')
echo "OK"
else
echo "FAILED"
endif
" Non-existing local list " Non-existing local list
unlet local_list unlet local_list
echo 'local_list: 0' echo 'local_list: 0'
@@ -245,6 +296,14 @@ endfunction
echo "FAILED" echo "FAILED"
endif endif
" Existing global variable with garbage
echo 'g:global_var-n: 1'
if !exists('g:global_var-n')
echo "OK"
else
echo "FAILED"
endif
" Non-existing global variable " Non-existing global variable
unlet g:global_var unlet g:global_var
echo 'g:global_var: 0' echo 'g:global_var: 0'

View File

@@ -35,6 +35,6 @@
*/ */
#define VIM_VERSION_NODOT "vim70g" #define VIM_VERSION_NODOT "vim70g"
#define VIM_VERSION_SHORT "7.0g" #define VIM_VERSION_SHORT "7.0g"
#define VIM_VERSION_MEDIUM "7.0g03 BETA" #define VIM_VERSION_MEDIUM "7.0g04 BETA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0g03 BETA (2006 May 4)" #define VIM_VERSION_LONG "VIM - Vi IMproved 7.0g04 BETA (2006 May 5)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0g03 BETA (2006 May 4, compiled " #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0g04 BETA (2006 May 5, compiled "