diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 0c65bb5..09f203a 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0aa.  Last change: 2005 Apr 04
+*motion.txt*    For Vim version 7.0aa.  Last change: 2005 Jul 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -595,6 +595,20 @@
 			'>', excluding the '<' and '>'.
 			When used in Visual mode it is made characterwise.
 
+						*v_at* *at*
+at			"a tag block", select [count] tag blocks, from the
+			[count]'th unmatched "<aaa>" backwards to the matching
+			"</aaa>", including the "<aaa>" and "</aaa>".
+			See |tag-blocks| about the details.
+			When used in Visual mode it is made characterwise.
+
+						*v_it* *it*
+it			"inner tag block", select [count] tag blocks, from the
+			[count]'th unmatched "<aaa>" backwards to the matching
+			"</aaa>", excluding the "<aaa>" and "</aaa>".
+			See |tag-blocks| about the details.
+			When used in Visual mode it is made characterwise.
+
 a}							*v_a}* *a}* *a{*
 a{							*v_aB* *v_a{* *aB*
 aB			"a Block", select [count] Blocks, from "[count] [{" to
@@ -679,6 +693,25 @@
 deletes from the cursor position to the start of the next word, "daw" deletes
 the word under the cursor and the space after or before it.
 
+
+Tag blocks						*tag-blocks*
+
+For the "it" and "at" text objects an attempt is done to select blocks between
+matching tags for HTML and XML.  But since these are not completely compatible
+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).
+
+"<aaa/>" items are skipped.  Case is ignored, also for XML where case does
+matter.
+
+In HTML it is possible to have a tag like <br> or <meta ...> without a
+matching end tag.  These are ignored.
+
+The text objects are tolerant about mistakes.  Stray end tags are ignored.
+
 ==============================================================================
 7. Marks					*mark-motions* *E20* *E78*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b4ed2d1..a43ba3a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4177,6 +4177,7 @@
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
 aspperl-syntax	syntax.txt	/*aspperl-syntax*
 aspvbs-syntax	syntax.txt	/*aspvbs-syntax*
+at	motion.txt	/*at*
 athena-intellimouse	gui.txt	/*athena-intellimouse*
 attr-list	syntax.txt	/*attr-list*
 author	intro.txt	/*author*
@@ -5429,6 +5430,7 @@
 is	motion.txt	/*is*
 isdirectory()	eval.txt	/*isdirectory()*
 islocked()	eval.txt	/*islocked()*
+it	motion.txt	/*it*
 italic	syntax.txt	/*italic*
 items()	eval.txt	/*items()*
 iw	motion.txt	/*iw*
@@ -6550,6 +6552,7 @@
 tag-!	tagsrch.txt	/*tag-!*
 tag-any-white	tagsrch.txt	/*tag-any-white*
 tag-binary-search	tagsrch.txt	/*tag-binary-search*
+tag-blocks	motion.txt	/*tag-blocks*
 tag-commands	tagsrch.txt	/*tag-commands*
 tag-details	tagsrch.txt	/*tag-details*
 tag-highlight	syntax.txt	/*tag-highlight*
@@ -6828,6 +6831,7 @@
 v_ap	motion.txt	/*v_ap*
 v_aquote	motion.txt	/*v_aquote*
 v_as	motion.txt	/*v_as*
+v_at	motion.txt	/*v_at*
 v_aw	motion.txt	/*v_aw*
 v_a{	motion.txt	/*v_a{*
 v_a}	motion.txt	/*v_a}*
@@ -6871,6 +6875,7 @@
 v_ip	motion.txt	/*v_ip*
 v_iquote	motion.txt	/*v_iquote*
 v_is	motion.txt	/*v_is*
+v_it	motion.txt	/*v_it*
 v_iw	motion.txt	/*v_iw*
 v_i{	motion.txt	/*v_i{*
 v_i}	motion.txt	/*v_i}*
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index 1f8f21f..6a2d44e 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -49,6 +49,7 @@
 long get_dict_number __ARGS((dict_T *d, char_u *key));
 char_u *get_function_name __ARGS((expand_T *xp, int idx));
 char_u *get_expr_name __ARGS((expand_T *xp, int idx));
+long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags));
 void set_vim_var_nr __ARGS((int idx, long val));
 long get_vim_var_nr __ARGS((int idx));
 char_u *get_vim_var_str __ARGS((int idx));
diff --git a/src/screen.c b/src/screen.c
index 3e11c53..c07691e 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -1253,7 +1253,8 @@
 			from = to;
 		}
 
-		if (VIsual.lnum != wp->w_old_visual_lnum)
+		if (VIsual.lnum != wp->w_old_visual_lnum
+					|| VIsual.col != wp->w_old_visual_col)
 		{
 		    if (wp->w_old_visual_lnum < from
 						&& wp->w_old_visual_lnum != 0)
@@ -1379,6 +1380,7 @@
 	wp->w_old_visual_mode = VIsual_mode;
 	wp->w_old_cursor_lnum = curwin->w_cursor.lnum;
 	wp->w_old_visual_lnum = VIsual.lnum;
+	wp->w_old_visual_col = VIsual.col;
 	wp->w_old_curswant = curwin->w_curswant;
     }
     else
@@ -1386,6 +1388,7 @@
 	wp->w_old_visual_mode = 0;
 	wp->w_old_cursor_lnum = 0;
 	wp->w_old_visual_lnum = 0;
+	wp->w_old_visual_col = 0;
     }
 #endif /* FEAT_VISUAL */
 
diff --git a/src/structs.h b/src/structs.h
index e238d0f..4da6862 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1580,6 +1580,7 @@
     colnr_T	w_old_cursor_fcol;  /* first column for block visual part */
     colnr_T	w_old_cursor_lcol;  /* last column for block visual part */
     linenr_T	w_old_visual_lnum;  /* last known start of visual part */
+    colnr_T	w_old_visual_col;   /* last known start of visual part */
     colnr_T	w_old_curswant;	    /* last known value of Curswant */
 #endif
 
diff --git a/src/version.h b/src/version.h
index a5695f7..01d8221 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT	"vim70aa"
 #define VIM_VERSION_SHORT	"7.0aa"
 #define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 18)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 18, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 19)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 19, compiled "
