summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt7
-rw-r--r--runtime/doc/motion.txt5
-rw-r--r--runtime/doc/options.txt9
-rw-r--r--runtime/doc/pattern.txt4
-rw-r--r--runtime/doc/term.txt6
-rw-r--r--runtime/synmenu.vim9
-rw-r--r--src/edit.c9
-rw-r--r--src/misc2.c3
-rw-r--r--src/proto/getchar.pro1
-rw-r--r--src/proto/window.pro119
-rw-r--r--src/testdir/test53.in18
-rw-r--r--src/testdir/test53.ok7
-rw-r--r--src/version.h6
13 files changed, 120 insertions, 83 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index c3f69477ce..4e7d5f3448 100644
--- 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, 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.
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}.
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 5b05d128bf..7173faf970 100644
--- 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.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c2e3011c0c..749fb5862d 100644
--- 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 short description can be found at |Q_op|.
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 short description can be found at |Q_op|.
{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|.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 8d5d40e153..d68da44bd7 100644
--- 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 meaning, matches itself
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
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 5efec94d8f..d5a20f373e 100644
--- 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 Visual or Select mode is stopped.
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,
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index 6a9d69b7d3..a2a28bfd7b 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -83,10 +83,11 @@ an 50.10.550 &Syntax.AB.Baan :cal SetSyn("baan")<CR>
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>
diff --git a/src/edit.c b/src/edit.c
index 296e91545c..90b3b69719 100644
--- 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;
diff --git a/src/misc2.c b/src/misc2.c
index a9f8fef0cc..6346e3fdf1 100644
--- 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
diff --git a/src/proto/getchar.pro b/src/proto/getchar.pro
index e504a9560a..7183eaf20c 100644
--- a/src/proto/getchar.pro
+++ b/src/proto/getchar.pro
@@ -21,6 +21,7 @@ int start_redo __ARGS((long count, int old_redo));
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));
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 5c00fbb8dd..45a90b82a5 100644
--- 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 : */
diff --git a/src/testdir/test53.in b/src/testdir/test53.in
index 29f7a70bdf..c2023e97b8 100644
--- 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 @@ da"
: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:
diff --git a/src/testdir/test53.ok b/src/testdir/test53.ok
index 7cbd6e7314..c371c6ad89 100644
--- 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
diff --git a/src/version.h b/src/version.h
index af0ef0ef11..939a118d76 100644
--- 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 "