mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
updated for version 7.0185
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 7.0aa. Last change: 2005 Sep 21
|
*diff.txt* For Vim version 7.0aa. Last change: 2006 Jan 22
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -345,8 +345,8 @@ get an error message. Possible causes:
|
|||||||
- The 'shell' and associated options are not set correctly. Try if filtering
|
- The 'shell' and associated options are not set correctly. Try if filtering
|
||||||
works with a command like ":!sort".
|
works with a command like ":!sort".
|
||||||
- You are using 'diffexpr' and it doesn't work.
|
- You are using 'diffexpr' and it doesn't work.
|
||||||
If it's not clear what the problem is set the 'verbose' option to see more
|
If it's not clear what the problem is set the 'verbose' option to one or more
|
||||||
messages.
|
to see more messages.
|
||||||
|
|
||||||
The self-installing Vim includes a diff program. If you don't have it you
|
The self-installing Vim includes a diff program. If you don't have it you
|
||||||
might want to download a diff.exe. For example from
|
might want to download a diff.exe. For example from
|
||||||
|
@@ -1264,15 +1264,19 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
/\$ pattern.txt /*\/\\$*
|
/\$ pattern.txt /*\/\\$*
|
||||||
/\%# pattern.txt /*\/\\%#*
|
/\%# pattern.txt /*\/\\%#*
|
||||||
/\%$ pattern.txt /*\/\\%$*
|
/\%$ pattern.txt /*\/\\%$*
|
||||||
|
/\%'m pattern.txt /*\/\\%'m*
|
||||||
/\%( pattern.txt /*\/\\%(*
|
/\%( pattern.txt /*\/\\%(*
|
||||||
/\%(\) pattern.txt /*\/\\%(\\)*
|
/\%(\) pattern.txt /*\/\\%(\\)*
|
||||||
|
/\%<'m pattern.txt /*\/\\%<'m*
|
||||||
/\%<c pattern.txt /*\/\\%<c*
|
/\%<c pattern.txt /*\/\\%<c*
|
||||||
/\%<l pattern.txt /*\/\\%<l*
|
/\%<l pattern.txt /*\/\\%<l*
|
||||||
/\%<v pattern.txt /*\/\\%<v*
|
/\%<v pattern.txt /*\/\\%<v*
|
||||||
|
/\%>'m pattern.txt /*\/\\%>'m*
|
||||||
/\%>c pattern.txt /*\/\\%>c*
|
/\%>c pattern.txt /*\/\\%>c*
|
||||||
/\%>l pattern.txt /*\/\\%>l*
|
/\%>l pattern.txt /*\/\\%>l*
|
||||||
/\%>v pattern.txt /*\/\\%>v*
|
/\%>v pattern.txt /*\/\\%>v*
|
||||||
/\%U pattern.txt /*\/\\%U*
|
/\%U pattern.txt /*\/\\%U*
|
||||||
|
/\%V pattern.txt /*\/\\%V*
|
||||||
/\%[] pattern.txt /*\/\\%[]*
|
/\%[] pattern.txt /*\/\\%[]*
|
||||||
/\%^ pattern.txt /*\/\\%^*
|
/\%^ pattern.txt /*\/\\%^*
|
||||||
/\%c pattern.txt /*\/\\%c*
|
/\%c pattern.txt /*\/\\%c*
|
||||||
|
@@ -1139,11 +1139,11 @@ qf_jump(dir, errornr, forceit)
|
|||||||
linenr_T i;
|
linenr_T i;
|
||||||
buf_T *old_curbuf;
|
buf_T *old_curbuf;
|
||||||
linenr_T old_lnum;
|
linenr_T old_lnum;
|
||||||
char_u *old_swb = p_swb;
|
|
||||||
colnr_T screen_col;
|
colnr_T screen_col;
|
||||||
colnr_T char_col;
|
colnr_T char_col;
|
||||||
char_u *line;
|
char_u *line;
|
||||||
#ifdef FEAT_WINDOWS
|
#ifdef FEAT_WINDOWS
|
||||||
|
char_u *old_swb = p_swb;
|
||||||
int opened_window = FALSE;
|
int opened_window = FALSE;
|
||||||
win_T *win;
|
win_T *win;
|
||||||
win_T *altwin;
|
win_T *altwin;
|
||||||
|
126
src/regexp.c
126
src/regexp.c
@@ -229,6 +229,9 @@
|
|||||||
#define RE_COL 205 /* nr cmp Match column number */
|
#define RE_COL 205 /* nr cmp Match column number */
|
||||||
#define RE_VCOL 206 /* nr cmp Match virtual column number */
|
#define RE_VCOL 206 /* nr cmp Match virtual column number */
|
||||||
|
|
||||||
|
#define RE_MARK 207 /* mark cmp Match mark position */
|
||||||
|
#define RE_VISUAL 208 /* Match Visual area */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Magic characters have a special meaning, they don't match literally.
|
* Magic characters have a special meaning, they don't match literally.
|
||||||
* Magic characters are negative. This separates them from literal characters
|
* Magic characters are negative. This separates them from literal characters
|
||||||
@@ -1837,6 +1840,10 @@ regatom(flagp)
|
|||||||
ret = regnode(CURSOR);
|
ret = regnode(CURSOR);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'V':
|
||||||
|
ret = regnode(RE_VISUAL);
|
||||||
|
break;
|
||||||
|
|
||||||
/* \%[abc]: Emit as a list of branches, all ending at the last
|
/* \%[abc]: Emit as a list of branches, all ending at the last
|
||||||
* branch which matches nothing. */
|
* branch which matches nothing. */
|
||||||
case '[':
|
case '[':
|
||||||
@@ -1929,7 +1936,8 @@ regatom(flagp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (VIM_ISDIGIT(c) || c == '<' || c == '>')
|
if (VIM_ISDIGIT(c) || c == '<' || c == '>'
|
||||||
|
|| c == '\'')
|
||||||
{
|
{
|
||||||
long_u n = 0;
|
long_u n = 0;
|
||||||
int cmp;
|
int cmp;
|
||||||
@@ -1942,7 +1950,21 @@ regatom(flagp)
|
|||||||
n = n * 10 + (c - '0');
|
n = n * 10 + (c - '0');
|
||||||
c = getchr();
|
c = getchr();
|
||||||
}
|
}
|
||||||
if (c == 'l' || c == 'c' || c == 'v')
|
if (c == '\'' && n == 0)
|
||||||
|
{
|
||||||
|
/* "\%'m", "\%<'m" and "\%>'m": Mark */
|
||||||
|
c = getchr();
|
||||||
|
ret = regnode(RE_MARK);
|
||||||
|
if (ret == JUST_CALC_SIZE)
|
||||||
|
regsize += 2;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*regcode++ = c;
|
||||||
|
*regcode++ = cmp;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (c == 'l' || c == 'c' || c == 'v')
|
||||||
{
|
{
|
||||||
if (c == 'l')
|
if (c == 'l')
|
||||||
ret = regnode(RE_LNUM);
|
ret = regnode(RE_LNUM);
|
||||||
@@ -3785,6 +3807,100 @@ regmatch(scan)
|
|||||||
status = RA_NOMATCH;
|
status = RA_NOMATCH;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RE_MARK:
|
||||||
|
/* Compare the mark position to the match position. NOTE: Always
|
||||||
|
* uses the current buffer. */
|
||||||
|
{
|
||||||
|
int mark = OPERAND(scan)[0];
|
||||||
|
int cmp = OPERAND(scan)[1];
|
||||||
|
pos_T *pos;
|
||||||
|
|
||||||
|
pos = getmark(mark, FALSE);
|
||||||
|
if (pos == NULL /* mark doesn't exist) */
|
||||||
|
|| pos->lnum <= 0 /* mark isn't set (in curbuf) */
|
||||||
|
|| (pos->lnum == reglnum + reg_firstlnum
|
||||||
|
? (pos->col == (colnr_T)(reginput - regline)
|
||||||
|
? (cmp == '<' || cmp == '>')
|
||||||
|
: (pos->col < (colnr_T)(reginput - regline)
|
||||||
|
? cmp != '>'
|
||||||
|
: cmp != '<'))
|
||||||
|
: (pos->lnum < reglnum + reg_firstlnum
|
||||||
|
? cmp != '>'
|
||||||
|
: cmp != '<')))
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RE_VISUAL:
|
||||||
|
#ifdef FEAT_VISUAL
|
||||||
|
/* Check if the buffer is the current buffer. and whether the
|
||||||
|
* position is inside the Visual area. */
|
||||||
|
if (reg_buf != curbuf || VIsual.lnum == 0)
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pos_T top, bot;
|
||||||
|
linenr_T lnum;
|
||||||
|
colnr_T col;
|
||||||
|
win_T *wp = reg_win == NULL ? curwin : reg_win;
|
||||||
|
int mode;
|
||||||
|
|
||||||
|
if (VIsual_active)
|
||||||
|
{
|
||||||
|
if (lt(VIsual, wp->w_cursor))
|
||||||
|
{
|
||||||
|
top = VIsual;
|
||||||
|
bot = wp->w_cursor;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
top = wp->w_cursor;
|
||||||
|
bot = VIsual;
|
||||||
|
}
|
||||||
|
mode = VIsual_mode;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
top = curbuf->b_visual_start;
|
||||||
|
bot = curbuf->b_visual_end;
|
||||||
|
mode = curbuf->b_visual_mode;
|
||||||
|
}
|
||||||
|
lnum = reglnum + reg_firstlnum;
|
||||||
|
col = (colnr_T)(reginput - regline);
|
||||||
|
if (lnum < top.lnum || lnum > bot.lnum)
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
else if (mode == 'v')
|
||||||
|
{
|
||||||
|
if ((lnum == top.lnum && col < top.col)
|
||||||
|
|| (lnum == bot.lnum
|
||||||
|
&& col >= bot.col + (*p_sel != 'e')))
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
}
|
||||||
|
else if (mode == Ctrl_V)
|
||||||
|
{
|
||||||
|
colnr_T start, end;
|
||||||
|
colnr_T start2, end2;
|
||||||
|
colnr_T col;
|
||||||
|
|
||||||
|
getvvcol(wp, &top, &start, NULL, &end);
|
||||||
|
getvvcol(wp, &bot, &start2, NULL, &end2);
|
||||||
|
if (start2 < start)
|
||||||
|
start = start2;
|
||||||
|
if (end2 > end)
|
||||||
|
end = end2;
|
||||||
|
if (top.col == MAXCOL || bot.col == MAXCOL)
|
||||||
|
end = MAXCOL;
|
||||||
|
col = win_linetabsize(wp,
|
||||||
|
regline, (colnr_T)(reginput - regline));
|
||||||
|
if (col < start || col > end - (*p_sel == 'e'))
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
status = RA_NOMATCH;
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
|
||||||
case RE_LNUM:
|
case RE_LNUM:
|
||||||
if (!REG_MULTI || !re_num_cmp((long_u)(reglnum + reg_firstlnum),
|
if (!REG_MULTI || !re_num_cmp((long_u)(reglnum + reg_firstlnum),
|
||||||
scan))
|
scan))
|
||||||
@@ -5788,9 +5904,15 @@ regprop(op)
|
|||||||
case CURSOR:
|
case CURSOR:
|
||||||
p = "CURSOR";
|
p = "CURSOR";
|
||||||
break;
|
break;
|
||||||
|
case RE_VISUAL:
|
||||||
|
p = "RE_VISUAL";
|
||||||
|
break;
|
||||||
case RE_LNUM:
|
case RE_LNUM:
|
||||||
p = "RE_LNUM";
|
p = "RE_LNUM";
|
||||||
break;
|
break;
|
||||||
|
case RE_MARK:
|
||||||
|
p = "RE_MARK";
|
||||||
|
break;
|
||||||
case RE_COL:
|
case RE_COL:
|
||||||
p = "RE_COL";
|
p = "RE_COL";
|
||||||
break;
|
break;
|
||||||
|
@@ -8482,8 +8482,10 @@ showruler(always)
|
|||||||
#ifdef FEAT_INS_EXPAND
|
#ifdef FEAT_INS_EXPAND
|
||||||
if (pum_visible())
|
if (pum_visible())
|
||||||
{
|
{
|
||||||
|
# ifdef FEAT_WINDOWS
|
||||||
/* Don't redraw right now, do it later. */
|
/* Don't redraw right now, do it later. */
|
||||||
curwin->w_redr_status = TRUE;
|
curwin->w_redr_status = TRUE;
|
||||||
|
# endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -36,5 +36,5 @@
|
|||||||
#define VIM_VERSION_NODOT "vim70aa"
|
#define VIM_VERSION_NODOT "vim70aa"
|
||||||
#define VIM_VERSION_SHORT "7.0aa"
|
#define VIM_VERSION_SHORT "7.0aa"
|
||||||
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
|
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
|
||||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 21)"
|
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 22)"
|
||||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 21, compiled "
|
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 22, compiled "
|
||||||
|
Reference in New Issue
Block a user