summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-07-19 22:17:30 +0000
committerBram Moolenaar <Bram@vim.org>2005-07-19 22:17:30 +0000
commit6c131c43ffb574ab7ea82c2478d16f0babd3ed93 (patch)
treecc8fde8abc130dd5f7a072bbd7a93a382372c492
parente7c5a156319e0bfc64d90367ca61ef5893a21c9d (diff)
downloadvim-git-6c131c43ffb574ab7ea82c2478d16f0babd3ed93.tar.gz
updated for version 7.0110
-rw-r--r--runtime/doc/motion.txt35
-rw-r--r--runtime/doc/tags5
-rw-r--r--src/proto/eval.pro1
-rw-r--r--src/screen.c5
-rw-r--r--src/structs.h1
-rw-r--r--src/version.h4
6 files changed, 47 insertions, 4 deletions
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 0c65bb506..09f203a0c 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 @@ i< "inner <> block", select [count] <> blocks, from
'>', 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 @@ where on the object the cursor is. For example, compare "dw" and "daw": "dw"
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 b4ed2d164..a43ba3a29 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4177,6 +4177,7 @@ asmh8300-syntax syntax.txt /*asmh8300-syntax*
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 @@ iquote motion.txt /*iquote*
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-! 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_ab motion.txt /*v_ab*
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_ib motion.txt /*v_ib*
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 1f8f21fc0..6a2d44e7d 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -49,6 +49,7 @@ char_u *get_dict_string __ARGS((dict_T *d, char_u *key));
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 3e11c532e..c07691e86 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -1253,7 +1253,8 @@ win_update(wp)
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 @@ win_update(wp)
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 @@ win_update(wp)
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 e238d0f6d..4da686205 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1580,6 +1580,7 @@ struct window
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 a5695f7a1..01d8221ce 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 "