Skip to content
Snippets Groups Projects
Commit 91170f8a authored by Bram Moolenaar's avatar Bram Moolenaar
Browse files

updated for version 7.0g04

parent f3a67887
No related branches found
No related tags found
No related merge requests found
*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
......@@ -1429,8 +1429,9 @@ value action ~
"c" automatic formatting for comments, but not text (good for C code)
"tc" automatic formatting for text and comments
Note that when 'textwidth' is 0, Vim does no formatting anyway (but does
insert comment leaders according to the 'comments' option).
Note that when 'textwidth' is 0, Vim does no automatic formatting anyway (but
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.
......@@ -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.
- 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:
- When part of the text is not properly separated in paragraphs, making
......
*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
......@@ -2346,12 +2346,13 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
exists("##ColorScheme")
< There must be no space between the symbol (&/$/*/#) and the
name.
Trailing characters that can't be part of the name are often
ignored, but don't depend on it, it may change in the future!
Example: >
exists("*strftime()")
< This currently works, but it should really be: >
exists("*strftime")
There must be no extra characters after the name, although in
a few cases this is ignored. That may become more strict in
the future, thus don't count on it!
Working example: >
exists(":make")
< NOT working example: >
exists(":make install")
< Note that the argument must be a string, not the name of the
variable itself. For example: >
......@@ -2678,21 +2679,25 @@ getbufvar({expr}, {varname}) *getbufvar()*
:echo "todo myvar = " . getbufvar("todo", "myvar")
<
getchar([expr]) *getchar()*
Get a single character from the user. If it is an 8-bit
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).
Get a single character from the user or input stream.
If [expr] is omitted, wait until a character 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
not consumed. If one is available a non-zero
number is returned. For a one-byte character
it is the character itself.
If a normal character available, it is returned as a Number.
Use nr2char() to convert it to a String.
The returned value is zero if no character is available.
The returned value is a string of characters for special keys
and when a modifier (shift, control, alt) was used.
not consumed. Return zero if no character available.
Without {expr} and when {expr} is 0 a whole character or
special key is returned. If it is an 8-bit character, the
result is a number. Use nr2char() to convert it to a String.
Otherwise a String is returned with the encoded character.
For a special key it's a sequence of bytes starting with 0x80
(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
user that a character has to be typed.
There is no mapping for the character.
......
*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
k
......@@ -202,6 +202,12 @@ LOCAL ADDITIONS: *local-additions*
|test.txt| Testing the hélp cömmånd nôw
|typecorr.txt| Plugin for correcting typing mistakes
|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ånd nôw
|typecorr.txt| Plugin for correcting typing mistakes
|helpp.txt| Dummy line to avoid an error message
------------------------------------------------------------------------------
*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.
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
will try to find help for it.
......
*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
......@@ -1020,8 +1020,9 @@ items:
info more information about the item, can be displayed in a
preview window
kind single letter indicating the type of completion
icase when non-zero case is to be ignored; when omitted
the 'ignorecase' option is used
icase when non-zero case is to be ignored when comparing
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
item with the same word is already present.
......
" Vim filetype plugin
" Language: Ruby
" Maintainer: Gavin Sinclair <gsinclair at soyabean.com.au>
" Maintainer: Gavin Sinclair <gsinclair at gmail.com>
" Info: $Id$
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
......@@ -38,7 +38,8 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
\ '\)' .
\ ':' .
\ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>'
\ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' .
\ ',{:},\[:\],(:)'
let b:match_skip =
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
......
" Description: html indenter
" Author: Johannes Zellner <johannes@zellner.org>
" 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
" g:html_indent_strict -- inhibit 'O O' elements
" g:html_indent_strict_table -- inhibit 'O -' elements
......@@ -116,6 +117,7 @@ endif
delfun <SID>HtmlIndentPush
let s:cpo_save = &cpo
set cpo-=C
" [-- 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>', 'nW')
" we're in a line with </pre> or inside <pre> ... </pre>
if restore_ic == 0
setlocal noic
endif
return -1
endif
......@@ -192,6 +197,9 @@ fun! HtmlIndentGet(lnum)
\ || 0 < searchpair(js, '', '</script>', 'nW')
" we're inside javascript
if getline(lnum) !~ js && getline(a:lnum) != '</script>'
if restore_ic == 0
setlocal noic
endif
return cindent(a:lnum)
endif
endif
......@@ -202,6 +210,9 @@ fun! HtmlIndentGet(lnum)
" starting <pre> to restore the indent.
let preline = prevnonblank(search('\c<pre>', 'bW') - 1)
if preline > 0
if restore_ic == 0
setlocal noic
endif
return indent(preline)
endif
endif
......@@ -216,4 +227,7 @@ fun! HtmlIndentGet(lnum)
return indent(lnum) + (&sw * ind)
endfun
let &cpo = s:cpo_save
unlet s:cpo_save
" [-- EOF <runtime>/indent/html.vim --]
......@@ -2806,7 +2806,7 @@ ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
ptr = find_word_end(ptr);
add_r = ins_compl_add_infercase(regmatch->startp[0],
(int)(ptr - regmatch->startp[0]),
p_ic, files[i], *dir, 0);
FALSE, files[i], *dir, 0);
if (thesaurus)
{
char_u *wstart;
......@@ -2842,7 +2842,7 @@ ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
ptr = find_word_end(ptr);
add_r = ins_compl_add_infercase(wstart,
(int)(ptr - wstart),
p_ic, files[i], *dir, 0);
FALSE, files[i], *dir, 0);
}
}
if (add_r == OK)
......@@ -3534,7 +3534,7 @@ ins_compl_add_tv(tv, dir)
int dir;
{
char_u *word;
int icase = p_ic;
int icase = FALSE;
int dup = FALSE;
char_u *(cptext[CPT_COUNT]);
......@@ -3753,7 +3753,7 @@ ins_compl_get_exp(ini)
TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 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;
break;
......@@ -3928,7 +3928,7 @@ ins_compl_get_exp(ini)
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,
0, flags) != NOTDONE)
{
......@@ -5818,7 +5818,7 @@ check_auto_format(end_insert)
*/
int
comp_textwidth(ff)
int ff; /* force formatting (for "Q" command) */
int ff; /* force formatting (for "gq" command) */
{
int textwidth;
......
......@@ -2221,16 +2221,6 @@ dialog_key_press_event_cb(GtkWidget *widget, GdkEventKey *event, gpointer 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". */
if (event->keyval == GDK_Escape)
{
......
......@@ -2626,6 +2626,9 @@ win_line(wp, lnum, startrow, endrow, nochange)
int prev_c = 0; /* previous Arabic character */
int prev_c1 = 0; /* first composing char for prev_c */
#endif
#if defined(FEAT_DIFF) || defined(LINE_ATTR)
int did_line_attr = 0;
#endif
/* draw_state: items that are drawn in sequence: */
#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 */
c = ' ';
--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
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
* highlight match at end of line. If it's beyond the last
* char on the screen, just overwrite that one (tricky!) Not
* needed when a '$' was displayed for 'list'. */
if (lcs_eol == lcs_eol_one
&& ((area_attr != 0 && vcol == fromcol)
&& ((area_attr != 0 && vcol == fromcol && c == NUL)
#ifdef FEAT_SEARCH_EXTRA
/* highlight 'hlsearch' match at end of line */
|| (ptr - line) - 1 == (long)search_hl.startcol
|| (ptr - line) - 1 == (long)match_hl[0].startcol
|| (ptr - line) - 1 == (long)match_hl[1].startcol
|| (ptr - line) - 1 == (long)match_hl[2].startcol
|| ((prevcol == (long)search_hl.startcol
|| prevcol == (long)match_hl[0].startcol
|| prevcol == (long)match_hl[1].startcol
|| prevcol == (long)match_hl[2].startcol)
# if defined(FEAT_DIFF) || defined(LINE_ATTR)
&& did_line_attr <= 1
# endif
)
#endif
))
{
......@@ -4297,7 +4319,13 @@ win_line(wp, lnum, startrow, endrow, nochange)
++col;
++vcol;
}
}
/*
* At end of the text line.
*/
if (c == NUL)
{
#ifdef FEAT_SYN_HL
/* Highlight 'cursorcolumn' past end of the line. */
if (wp->w_p_wrap)
......
......@@ -4871,7 +4871,7 @@ search_line:
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,
dir, reuse);
if (add_r == OK)
......@@ -5110,7 +5110,7 @@ show_pat_in_path(line, type, did_show, action, fp, lnum, count)
if (did_show)
msg_putchar('\n'); /* cursor below last one */
else
else if (!msg_silent)
gotocmdline(TRUE); /* cursor at status line */
if (got_int) /* 'q' typed at "--more--" message */
return;
......
......@@ -18,6 +18,8 @@ endfunction
" valid autocmd group
let test_cases += [['#myagroup', 1]]
" valid autocmd group with garbage
let test_cases += [['#myagroup+b', 0]]
" Valid autocmd group and event
let test_cases += [['#myagroup#BufEnter', 1]]
" Valid autocmd group, event and pattern
......@@ -51,6 +53,8 @@ endfunction
let test_cases += [['&textwidth', 1]]
" Existing and working option (short form)
let test_cases += [['&tw', 1]]
" Existing and working option with garbage
let test_cases += [['&tw-', 0]]
" Global option
let test_cases += [['&g:errorformat', 1]]
" Local option
......@@ -64,6 +68,8 @@ endfunction
" Existing and working option (long form)
let test_cases += [['+incsearch', 1]]
" Existing and working option with garbage
let test_cases += [['+incsearch!1', 0]]
" Existing and working option (short form)
let test_cases += [['+is', 1]]
" Existing option that is hidden.
......@@ -77,8 +83,12 @@ endfunction
" Valid internal function
let test_cases += [['*bufnr', 1]]
" Valid internal function with ()
let test_cases += [['*bufnr()', 1]]
" Non-existing internal function
let test_cases += [['*myxyzfunc', 0]]
" Valid internal function with garbage
let test_cases += [['*bufnr&6', 0]]
" Valid user defined function
let test_cases += [['*TestExists', 1]]
......@@ -100,6 +110,14 @@ endfunction
echo "FAILED"
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)
echo ':q: 1'
if exists(':q') == 1
......@@ -171,6 +189,15 @@ endfunction
echo "FAILED"
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
unlet local_var
echo 'local_var: 0'
......@@ -189,6 +216,30 @@ endfunction
echo "FAILED"
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
unlet local_list
echo 'local_list: 0'
......@@ -245,6 +296,14 @@ endfunction
echo "FAILED"
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
unlet g:global_var
echo 'g:global_var: 0'
......
......@@ -35,6 +35,6 @@
*/
#define VIM_VERSION_NODOT "vim70g"
#define VIM_VERSION_SHORT "7.0g"
#define VIM_VERSION_MEDIUM "7.0g03 BETA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0g03 BETA (2006 May 4)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0g03 BETA (2006 May 4, compiled "
#define VIM_VERSION_MEDIUM "7.0g04 BETA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0g04 BETA (2006 May 5)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0g04 BETA (2006 May 5, compiled "
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment