changeset 853:d10fbefd3bc1

updated for version 7.0f05
author vimboss
date Sat, 29 Apr 2006 22:01:03 +0000
parents d58e3db4a7d1
children 24b17b7badb1
files runtime/doc/eval.txt runtime/doc/motion.txt runtime/doc/options.txt runtime/doc/pattern.txt runtime/doc/term.txt runtime/synmenu.vim src/edit.c src/misc2.c src/proto/getchar.pro src/proto/window.pro src/testdir/test53.in src/testdir/test53.ok src/version.h
diffstat 13 files changed, 120 insertions(+), 83 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0f.  Last change: 2006 Apr 26
+*eval.txt*      For Vim version 7.0f.  Last change: 2006 Apr 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2344,12 +2344,13 @@ exists({expr})	The result is a Number, w
 			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.
 		Note that the argument must be a string, not the name of the
 		variable itself!  For example: >
 			exists(bufcount)
 <		This doesn't check for existence of the "bufcount" variable,
-		but gets the contents of "bufcount", and checks if that
-		exists.
+		but gets the value of "bufcount", and checks if that exists.
 
 expand({expr} [, {flag}])				*expand()*
 		Expand wildcards and the following special keywords in {expr}.
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0f.  Last change: 2006 Apr 28
+*motion.txt*    For Vim version 7.0f.  Last change: 2006 Apr 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -707,7 +707,8 @@ there are a few restrictions.
 
 The normal method is to select a <tag> until the matching </tag>.  For "at"
 the tags are included, for "it" they are excluded.  But when "it" is repeated
-the tags will be included (otherwise nothing would change).
+the tags will be included (otherwise nothing would change).  Also, "it" used
+on a tag block with no contents will select the leading tag.
 
 "<aaa/>" items are skipped.  Case is ignored, also for XML where case does
 matter.
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0f.  Last change: 2006 Apr 26
+*options.txt*	For Vim version 7.0f.  Last change: 2006 Apr 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3201,7 +3201,8 @@ A jump table for the options with a shor
 
 	For Mac OSX you can use something like this: >
 	    :set guifont=Monaco:h10
-<								*E236*
+<	Also see 'macatsui', it can help fix display problems.
+								*E236*
 	Note that the fonts must be mono-spaced (all characters have the same
 	width).  An exception is GTK 2: all fonts are accepted, but
 	mono-spaced fonts look best.
@@ -5108,8 +5109,8 @@ A jump table for the options with a shor
 			{not available when compiled without the
 			|+insert_expand| feature}
 			{not in Vi}
-	Determines the maximum number of items to show in the popup menu.
-	When zero as much space as available is used.
+	Determines the maximum number of items to show in the popup menu for
+	Insert mode completion.  When zero as much space as available is used.
 	|ins-completion-menu|.
 
 
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.0f.  Last change: 2006 Apr 22
+*pattern.txt*   For Vim version 7.0f.  Last change: 2006 Apr 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1019,7 +1019,7 @@ x	A single character, with no special me
 	  have almost the same meaning, e.g., when ignoring accents.  The form
 	  is:
 	  	[=a=]
-	  Currrently this is only implemented for latin1.  Also works for the
+	  Currently this is only implemented for latin1.  Also works for the
 	  latin1 characters in utf-8 and latin9.
 							*/[[.* *[..]*
 	- A collation element.  This currently simply accepts a single
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.0f.  Last change: 2006 Apr 24
+*term.txt*      For Vim version 7.0f.  Last change: 2006 Apr 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -751,8 +751,8 @@ which is editing another buffer, the Vis
 In Normal, Visual and Select mode clicking the right mouse button with the alt
 key pressed causes the Visual area to become blockwise.  When 'mousemodel is
 "popup" the left button has to be used with the alt key.  Note that this won't
-work on systems where the window manager uses the mouse when the alt key is
-pressed (it may move the window).
+work on systems where the window manager consumes the mouse events when the
+alt key is pressed (it may move the window).
 
 							*double-click*
 Double, triple and quadruple clicks are supported when the GUI is active,
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -83,10 +83,11 @@ an 50.10.550 &Syntax.AB.Baan :cal SetSyn
 an 50.10.560 &Syntax.AB.BASIC :cal SetSyn("basic")<CR>
 an 50.10.570 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR>
 an 50.10.580 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR>
-an 50.10.590 &Syntax.AB.BibTeX :cal SetSyn("bib")<CR>
-an 50.10.600 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR>
-an 50.10.610 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR>
-an 50.10.620 &Syntax.AB.Blank :cal SetSyn("blank")<CR>
+an 50.10.590 &Syntax.AB.BibTeX.Bibliography\ database :cal SetSyn("bib")<CR>
+an 50.10.600 &Syntax.AB.BibTeX.Bibliography\ Style :cal SetSyn("bst")<CR>
+an 50.10.610 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR>
+an 50.10.620 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR>
+an 50.10.630 &Syntax.AB.Blank :cal SetSyn("blank")<CR>
 an 50.20.100 &Syntax.C.C :cal SetSyn("c")<CR>
 an 50.20.110 &Syntax.C.C++ :cal SetSyn("cpp")<CR>
 an 50.20.120 &Syntax.C.C# :cal SetSyn("cs")<CR>
--- a/src/edit.c
+++ b/src/edit.c
@@ -925,6 +925,15 @@ doESCkey:
 	    if (echeck_abbr(Ctrl_O + ABBR_OFF))
 		break;
 	    ins_ctrl_o();
+
+#ifdef FEAT_VIRTUALEDIT
+	    /* don't move the cursor left when 'virtualedit' has "onemore". */
+	    if (ve_flags & VE_ONEMORE)
+	    {
+		ins_at_eol = FALSE;
+		nomove = TRUE;
+	    }
+#endif
 	    count = 0;
 	    goto doESCkey;
 
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -1085,7 +1085,8 @@ free_all_mem()
     reset_last_sourcing();
 
 #ifdef FEAT_WINDOWS
-    vim_free(first_tabpage);
+    free_tabpage(first_tabpage);
+    first_tabpage = NULL;
 #endif
 
 # ifdef UNIX
--- a/src/proto/getchar.pro
+++ b/src/proto/getchar.pro
@@ -21,6 +21,7 @@ int start_redo __ARGS((long count, int o
 int start_redo_ins __ARGS((void));
 void stop_redo_ins __ARGS((void));
 int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent));
+void ins_char_typebuf __ARGS((int c));
 int typebuf_changed __ARGS((int tb_change_cnt));
 int typebuf_typed __ARGS((void));
 int typebuf_maplen __ARGS((void));
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -1,61 +1,62 @@
 /* window.c */
-extern void do_window __ARGS((int nchar, long Prenum, int xchar));
-extern int win_split __ARGS((int size, int flags));
-extern int win_valid __ARGS((win_T *win));
-extern int win_count __ARGS((void));
-extern int make_windows __ARGS((int count, int vertical));
-extern void win_move_after __ARGS((win_T *win1, win_T *win2));
-extern void win_equal __ARGS((win_T *next_curwin, int current, int dir));
-extern void close_windows __ARGS((buf_T *buf, int keep_curwin));
-extern void win_close __ARGS((win_T *win, int free_buf));
-extern void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
-extern void win_free_all __ARGS((void));
-extern void close_others __ARGS((int message, int forceit));
-extern void curwin_init __ARGS((void));
-extern int win_alloc_first __ARGS((void));
-extern void win_init_size __ARGS((void));
-extern int win_new_tabpage __ARGS((int after));
-extern int may_open_tabpage __ARGS((void));
-extern int make_tabpages __ARGS((int maxcount));
-extern int valid_tabpage __ARGS((tabpage_T *tpc));
-extern tabpage_T *find_tabpage __ARGS((int n));
-extern int tabpage_index __ARGS((tabpage_T *ftp));
-extern void goto_tabpage __ARGS((int n));
-extern void goto_tabpage_tp __ARGS((tabpage_T *tp));
-extern void goto_tabpage_win __ARGS((tabpage_T *tp, win_T *wp));
-extern void tabpage_move __ARGS((int nr));
-extern void win_goto __ARGS((win_T *wp));
-extern win_T *win_find_nr __ARGS((int winnr));
-extern void win_enter __ARGS((win_T *wp, int undo_sync));
-extern win_T *buf_jump_open_win __ARGS((buf_T *buf));
-extern win_T *buf_jump_open_tab __ARGS((buf_T *buf));
-extern int win_alloc_lines __ARGS((win_T *wp));
-extern void win_free_lsize __ARGS((win_T *wp));
-extern void shell_new_rows __ARGS((void));
-extern void shell_new_columns __ARGS((void));
-extern void win_size_save __ARGS((garray_T *gap));
-extern void win_size_restore __ARGS((garray_T *gap));
-extern int win_comp_pos __ARGS((void));
-extern void win_setheight __ARGS((int height));
-extern void win_setheight_win __ARGS((int height, win_T *win));
-extern void win_setwidth __ARGS((int width));
-extern void win_setwidth_win __ARGS((int width, win_T *wp));
-extern void win_setminheight __ARGS((void));
-extern void win_drag_status_line __ARGS((win_T *dragwin, int offset));
-extern void win_drag_vsep_line __ARGS((win_T *dragwin, int offset));
-extern void win_comp_scroll __ARGS((win_T *wp));
-extern void command_height __ARGS((void));
-extern void last_status __ARGS((int morewin));
-extern int tabline_height __ARGS((void));
-extern char_u *grab_file_name __ARGS((long count, linenr_T *file_lnum));
-extern char_u *file_name_at_cursor __ARGS((int options, long count, linenr_T *file_lnum));
-extern char_u *file_name_in_line __ARGS((char_u *line, int col, int options, long count, char_u *rel_fname, linenr_T *file_lnum));
-extern char_u *find_file_name_in_path __ARGS((char_u *ptr, int len, int options, long count, char_u *rel_fname));
-extern int path_with_url __ARGS((char_u *fname));
-extern int vim_isAbsName __ARGS((char_u *name));
-extern int vim_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-extern int min_rows __ARGS((void));
-extern int only_one_window __ARGS((void));
-extern void check_lnums __ARGS((int do_curwin));
-extern int win_hasvertsplit __ARGS((void));
+void do_window __ARGS((int nchar, long Prenum, int xchar));
+int win_split __ARGS((int size, int flags));
+int win_valid __ARGS((win_T *win));
+int win_count __ARGS((void));
+int make_windows __ARGS((int count, int vertical));
+void win_move_after __ARGS((win_T *win1, win_T *win2));
+void win_equal __ARGS((win_T *next_curwin, int current, int dir));
+void close_windows __ARGS((buf_T *buf, int keep_curwin));
+void win_close __ARGS((win_T *win, int free_buf));
+void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp));
+void win_free_all __ARGS((void));
+void close_others __ARGS((int message, int forceit));
+void curwin_init __ARGS((void));
+int win_alloc_first __ARGS((void));
+void win_init_size __ARGS((void));
+void free_tabpage __ARGS((tabpage_T *tp));
+int win_new_tabpage __ARGS((int after));
+int may_open_tabpage __ARGS((void));
+int make_tabpages __ARGS((int maxcount));
+int valid_tabpage __ARGS((tabpage_T *tpc));
+tabpage_T *find_tabpage __ARGS((int n));
+int tabpage_index __ARGS((tabpage_T *ftp));
+void goto_tabpage __ARGS((int n));
+void goto_tabpage_tp __ARGS((tabpage_T *tp));
+void goto_tabpage_win __ARGS((tabpage_T *tp, win_T *wp));
+void tabpage_move __ARGS((int nr));
+void win_goto __ARGS((win_T *wp));
+win_T *win_find_nr __ARGS((int winnr));
+void win_enter __ARGS((win_T *wp, int undo_sync));
+win_T *buf_jump_open_win __ARGS((buf_T *buf));
+win_T *buf_jump_open_tab __ARGS((buf_T *buf));
+int win_alloc_lines __ARGS((win_T *wp));
+void win_free_lsize __ARGS((win_T *wp));
+void shell_new_rows __ARGS((void));
+void shell_new_columns __ARGS((void));
+void win_size_save __ARGS((garray_T *gap));
+void win_size_restore __ARGS((garray_T *gap));
+int win_comp_pos __ARGS((void));
+void win_setheight __ARGS((int height));
+void win_setheight_win __ARGS((int height, win_T *win));
+void win_setwidth __ARGS((int width));
+void win_setwidth_win __ARGS((int width, win_T *wp));
+void win_setminheight __ARGS((void));
+void win_drag_status_line __ARGS((win_T *dragwin, int offset));
+void win_drag_vsep_line __ARGS((win_T *dragwin, int offset));
+void win_comp_scroll __ARGS((win_T *wp));
+void command_height __ARGS((void));
+void last_status __ARGS((int morewin));
+int tabline_height __ARGS((void));
+char_u *grab_file_name __ARGS((long count, linenr_T *file_lnum));
+char_u *file_name_at_cursor __ARGS((int options, long count, linenr_T *file_lnum));
+char_u *file_name_in_line __ARGS((char_u *line, int col, int options, long count, char_u *rel_fname, linenr_T *file_lnum));
+char_u *find_file_name_in_path __ARGS((char_u *ptr, int len, int options, long count, char_u *rel_fname));
+int path_with_url __ARGS((char_u *fname));
+int vim_isAbsName __ARGS((char_u *name));
+int vim_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+int min_rows __ARGS((void));
+int only_one_window __ARGS((void));
+void check_lnums __ARGS((int do_curwin));
+int win_hasvertsplit __ARGS((void));
 /* vim: set ft=c : */
--- a/src/testdir/test53.in
+++ b/src/testdir/test53.in
@@ -1,4 +1,4 @@
-Tests for string text objects. vim: set ft=vim :
+Tests for string and html text objects. vim: set ft=vim :
 
 Note that the end-of-line moves the cursor to the next test line.
 
@@ -15,7 +15,14 @@ 03f'vi'ry
 :set quoteescape=+*-
 di`
 $F"va"oha"i"rz
-k:put =matchstr(\"abcd\", \".\", 0, 2) " b
+:"
+/^<begin
+jfXdit
+0fXdit
+fXdat
+0fXdat
+:"
+:put =matchstr(\"abcd\", \".\", 0, 2) " b
 :put =matchstr(\"abcd\", \"..\", 0, 2) " bc
 :put =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
 :put =matchstr(\"abcd\", \".\", 0, -1) " a
@@ -31,4 +38,11 @@ out " in "noXno"
 "'" 'blah' rep 'buh'
 bla `s*`d-`+++`l**` b`la
 voo "nah" sdf " asdf" sdf " sdf" sd
+
+<begin>
+-<b>asdf<i>Xasdf</i>asdf</b>-
+-<b>asdX<i>a<i />sdf</i>asdf</b>-
+-<b>asdf<i>Xasdf</i>asdf</b>-
+-<b>asdX<i>as<b />df</i>asdf</b>-
+</begin>
 end:
--- a/src/testdir/test53.ok
+++ b/src/testdir/test53.ok
@@ -5,6 +5,13 @@ out " in ""
 "'" 'blah'yyyyy'buh'
 bla `` b`la
 voo "zzzzzzzzzzzzzzzzzzzzzzzzzzzzsd
+
+<begin>
+-<b>asdf<i></i>asdf</b>-
+-<b></b>-
+-<b>asdfasdf</b>-
+--
+</begin>
 b
 bc
 c
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70f"
 #define VIM_VERSION_SHORT	"7.0f"
-#define VIM_VERSION_MEDIUM	"7.0f04 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0f04 BETA (2006 Apr 28)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0f04 BETA (2006 Apr 28, compiled "
+#define VIM_VERSION_MEDIUM	"7.0f05 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0f05 BETA (2006 Apr 29)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0f05 BETA (2006 Apr 29, compiled "