0
0
mirror of https://github.com/vim/vim.git synced 2025-10-13 06:54:15 -04:00

updated for version 7.1-005

This commit is contained in:
Bram Moolenaar
2007-06-19 10:56:05 +00:00
parent b1269f1184
commit 1864a4e0fd
2 changed files with 25 additions and 8 deletions

View File

@@ -3600,13 +3600,16 @@ current_block(oap, count, include, what, other)
{ {
oap->start = start_pos; oap->start = start_pos;
oap->motion_type = MCHAR; oap->motion_type = MCHAR;
if (sol)
{
incl(&curwin->w_cursor);
oap->inclusive = FALSE; oap->inclusive = FALSE;
} if (sol)
else incl(&curwin->w_cursor);
else if (lt(start_pos, curwin->w_cursor))
/* Include the character under the cursor. */
oap->inclusive = TRUE; oap->inclusive = TRUE;
else
/* End is before the start (no text in between <>, [], etc.): don't
* operate on any text. */
curwin->w_cursor = start_pos;
} }
return OK; return OK;
@@ -3734,7 +3737,7 @@ current_tagblock(oap, count_arg, include)
if (in_html_tag(FALSE)) if (in_html_tag(FALSE))
{ {
/* cursor on start tag, move to just after it */ /* cursor on start tag, move to its '>' */
while (*ml_get_cursor() != '>') while (*ml_get_cursor() != '>')
if (inc_cursor() < 0) if (inc_cursor() < 0)
break; break;
@@ -3838,7 +3841,7 @@ again:
/* Exclude the start tag. */ /* Exclude the start tag. */
curwin->w_cursor = start_pos; curwin->w_cursor = start_pos;
while (inc_cursor() >= 0) while (inc_cursor() >= 0)
if (*ml_get_cursor() == '>' && lt(curwin->w_cursor, end_pos)) if (*ml_get_cursor() == '>')
{ {
inc_cursor(); inc_cursor();
start_pos = curwin->w_cursor; start_pos = curwin->w_cursor;
@@ -3860,7 +3863,11 @@ again:
#ifdef FEAT_VISUAL #ifdef FEAT_VISUAL
if (VIsual_active) if (VIsual_active)
{ {
if (*p_sel == 'e') /* If the end is before the start there is no text between tags, select
* the char under the cursor. */
if (lt(end_pos, start_pos))
curwin->w_cursor = start_pos;
else if (*p_sel == 'e')
++curwin->w_cursor.col; ++curwin->w_cursor.col;
VIsual = start_pos; VIsual = start_pos;
VIsual_mode = 'v'; VIsual_mode = 'v';
@@ -3872,6 +3879,14 @@ again:
{ {
oap->start = start_pos; oap->start = start_pos;
oap->motion_type = MCHAR; oap->motion_type = MCHAR;
if (lt(end_pos, start_pos))
{
/* End is before the start: there is no text between tags; operate
* on an empty area. */
curwin->w_cursor = start_pos;
oap->inclusive = FALSE;
}
else
oap->inclusive = TRUE; oap->inclusive = TRUE;
} }
retval = OK; retval = OK;

View File

@@ -666,6 +666,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
5,
/**/ /**/
4, 4,
/**/ /**/