summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-04-29 22:01:03 +0000
committerBram Moolenaar <Bram@vim.org>2006-04-29 22:01:03 +0000
commit06a89a51592d300396f2f846d1983df5029931be (patch)
tree6a0d97b40132d0eabb19b8419c190b1a10fb64bf /src
parentd8fc5c0b999204f47efd7702502b41ead11948a4 (diff)
updated for version 7.0f05
Diffstat (limited to 'src')
-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
7 files changed, 98 insertions, 65 deletions
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 "