|
Karsten Hopp |
94a1f8 |
To: vim_dev@googlegroups.com
|
|
Karsten Hopp |
94a1f8 |
Subject: Patch 7.3.776
|
|
Karsten Hopp |
94a1f8 |
Fcc: outbox
|
|
Karsten Hopp |
94a1f8 |
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
Karsten Hopp |
94a1f8 |
Mime-Version: 1.0
|
|
Karsten Hopp |
94a1f8 |
Content-Type: text/plain; charset=UTF-8
|
|
Karsten Hopp |
94a1f8 |
Content-Transfer-Encoding: 8bit
|
|
Karsten Hopp |
94a1f8 |
------------
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
Patch 7.3.776
|
|
Karsten Hopp |
94a1f8 |
Problem: ml_get error when searching, caused by curwin not matching curbuf.
|
|
Karsten Hopp |
94a1f8 |
Solution: Avoid changing curbuf. (Lech Lorens)
|
|
Karsten Hopp |
94a1f8 |
Files: src/charset.c, src/eval.c, src/mark.c, src/proto/charset.pro,
|
|
Karsten Hopp |
94a1f8 |
src/proto/mark.pro, src/regexp.c, src/syntax.c
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/charset.c 2012-05-25 11:56:06.000000000 +0200
|
|
Karsten Hopp |
94a1f8 |
--- src/charset.c 2013-01-23 15:43:37.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 905,910 ****
|
|
Karsten Hopp |
94a1f8 |
--- 905,918 ----
|
|
Karsten Hopp |
94a1f8 |
vim_iswordc(c)
|
|
Karsten Hopp |
94a1f8 |
int c;
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
+ return vim_iswordc_buf(c, curbuf);
|
|
Karsten Hopp |
94a1f8 |
+ }
|
|
Karsten Hopp |
94a1f8 |
+
|
|
Karsten Hopp |
94a1f8 |
+ int
|
|
Karsten Hopp |
94a1f8 |
+ vim_iswordc_buf(c, buf)
|
|
Karsten Hopp |
94a1f8 |
+ int c;
|
|
Karsten Hopp |
94a1f8 |
+ buf_T *buf;
|
|
Karsten Hopp |
94a1f8 |
+ {
|
|
Karsten Hopp |
94a1f8 |
#ifdef FEAT_MBYTE
|
|
Karsten Hopp |
94a1f8 |
if (c >= 0x100)
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 914,920 ****
|
|
Karsten Hopp |
94a1f8 |
return utf_class(c) >= 2;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
! return (c > 0 && c < 0x100 && GET_CHARTAB(curbuf, c) != 0);
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
/*
|
|
Karsten Hopp |
94a1f8 |
--- 922,928 ----
|
|
Karsten Hopp |
94a1f8 |
return utf_class(c) >= 2;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
! return (c > 0 && c < 0x100 && GET_CHARTAB(buf, c) != 0);
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
/*
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 933,939 ****
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
#if defined(FEAT_SYN_HL) || defined(PROTO)
|
|
Karsten Hopp |
94a1f8 |
int
|
|
Karsten Hopp |
94a1f8 |
! vim_iswordc_buf(p, buf)
|
|
Karsten Hopp |
94a1f8 |
char_u *p;
|
|
Karsten Hopp |
94a1f8 |
buf_T *buf;
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
--- 941,947 ----
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
#if defined(FEAT_SYN_HL) || defined(PROTO)
|
|
Karsten Hopp |
94a1f8 |
int
|
|
Karsten Hopp |
94a1f8 |
! vim_iswordp_buf(p, buf)
|
|
Karsten Hopp |
94a1f8 |
char_u *p;
|
|
Karsten Hopp |
94a1f8 |
buf_T *buf;
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/eval.c 2012-12-05 16:10:21.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
--- src/eval.c 2013-01-23 14:24:08.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 18884,18890 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
if (name[0] == '\'') /* mark */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! pp = getmark_fnum(name[1], FALSE, fnum);
|
|
Karsten Hopp |
94a1f8 |
if (pp == NULL || pp == (pos_T *)-1 || pp->lnum <= 0)
|
|
Karsten Hopp |
94a1f8 |
return NULL;
|
|
Karsten Hopp |
94a1f8 |
return pp;
|
|
Karsten Hopp |
94a1f8 |
--- 18884,18890 ----
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
if (name[0] == '\'') /* mark */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! pp = getmark_buf_fnum(curbuf, name[1], FALSE, fnum);
|
|
Karsten Hopp |
94a1f8 |
if (pp == NULL || pp == (pos_T *)-1 || pp->lnum <= 0)
|
|
Karsten Hopp |
94a1f8 |
return NULL;
|
|
Karsten Hopp |
94a1f8 |
return pp;
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/mark.c 2012-07-06 17:51:24.000000000 +0200
|
|
Karsten Hopp |
94a1f8 |
--- src/mark.c 2013-01-23 14:24:16.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 304,310 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
/*
|
|
Karsten Hopp |
94a1f8 |
! * Find mark "c".
|
|
Karsten Hopp |
94a1f8 |
* If "changefile" is TRUE it's allowed to edit another file for '0, 'A, etc.
|
|
Karsten Hopp |
94a1f8 |
* If "fnum" is not NULL store the fnum there for '0, 'A etc., don't edit
|
|
Karsten Hopp |
94a1f8 |
* another file.
|
|
Karsten Hopp |
94a1f8 |
--- 304,310 ----
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
/*
|
|
Karsten Hopp |
94a1f8 |
! * Find mark "c" in buffer pointed to by "buf".
|
|
Karsten Hopp |
94a1f8 |
* If "changefile" is TRUE it's allowed to edit another file for '0, 'A, etc.
|
|
Karsten Hopp |
94a1f8 |
* If "fnum" is not NULL store the fnum there for '0, 'A etc., don't edit
|
|
Karsten Hopp |
94a1f8 |
* another file.
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 315,329 ****
|
|
Karsten Hopp |
94a1f8 |
* - -1 if mark is in other file and jumped there (only if changefile is TRUE)
|
|
Karsten Hopp |
94a1f8 |
*/
|
|
Karsten Hopp |
94a1f8 |
pos_T *
|
|
Karsten Hopp |
94a1f8 |
getmark(c, changefile)
|
|
Karsten Hopp |
94a1f8 |
int c;
|
|
Karsten Hopp |
94a1f8 |
int changefile;
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! return getmark_fnum(c, changefile, NULL);
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
pos_T *
|
|
Karsten Hopp |
94a1f8 |
! getmark_fnum(c, changefile, fnum)
|
|
Karsten Hopp |
94a1f8 |
int c;
|
|
Karsten Hopp |
94a1f8 |
int changefile;
|
|
Karsten Hopp |
94a1f8 |
int *fnum;
|
|
Karsten Hopp |
94a1f8 |
--- 315,339 ----
|
|
Karsten Hopp |
94a1f8 |
* - -1 if mark is in other file and jumped there (only if changefile is TRUE)
|
|
Karsten Hopp |
94a1f8 |
*/
|
|
Karsten Hopp |
94a1f8 |
pos_T *
|
|
Karsten Hopp |
94a1f8 |
+ getmark_buf(buf, c, changefile)
|
|
Karsten Hopp |
94a1f8 |
+ buf_T *buf;
|
|
Karsten Hopp |
94a1f8 |
+ int c;
|
|
Karsten Hopp |
94a1f8 |
+ int changefile;
|
|
Karsten Hopp |
94a1f8 |
+ {
|
|
Karsten Hopp |
94a1f8 |
+ return getmark_buf_fnum(buf, c, changefile, NULL);
|
|
Karsten Hopp |
94a1f8 |
+ }
|
|
Karsten Hopp |
94a1f8 |
+
|
|
Karsten Hopp |
94a1f8 |
+ pos_T *
|
|
Karsten Hopp |
94a1f8 |
getmark(c, changefile)
|
|
Karsten Hopp |
94a1f8 |
int c;
|
|
Karsten Hopp |
94a1f8 |
int changefile;
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! return getmark_buf_fnum(curbuf, c, changefile, NULL);
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
pos_T *
|
|
Karsten Hopp |
94a1f8 |
! getmark_buf_fnum(buf, c, changefile, fnum)
|
|
Karsten Hopp |
94a1f8 |
! buf_T *buf;
|
|
Karsten Hopp |
94a1f8 |
int c;
|
|
Karsten Hopp |
94a1f8 |
int changefile;
|
|
Karsten Hopp |
94a1f8 |
int *fnum;
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 351,365 ****
|
|
Karsten Hopp |
94a1f8 |
posp = &pos_copy; /* w_pcmark may be changed soon */
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
else if (c == '"') /* to pos when leaving buffer */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(curbuf->b_last_cursor);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '^') /* to where Insert mode stopped */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(curbuf->b_last_insert);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '.') /* to where last change was made */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(curbuf->b_last_change);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '[') /* to start of previous operator */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(curbuf->b_op_start);
|
|
Karsten Hopp |
94a1f8 |
else if (c == ']') /* to end of previous operator */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(curbuf->b_op_end);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '{' || c == '}') /* to previous/next paragraph */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
pos_T pos;
|
|
Karsten Hopp |
94a1f8 |
--- 361,375 ----
|
|
Karsten Hopp |
94a1f8 |
posp = &pos_copy; /* w_pcmark may be changed soon */
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
else if (c == '"') /* to pos when leaving buffer */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(buf->b_last_cursor);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '^') /* to where Insert mode stopped */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(buf->b_last_insert);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '.') /* to where last change was made */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(buf->b_last_change);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '[') /* to start of previous operator */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(buf->b_op_start);
|
|
Karsten Hopp |
94a1f8 |
else if (c == ']') /* to end of previous operator */
|
|
Karsten Hopp |
94a1f8 |
! posp = &(buf->b_op_end);
|
|
Karsten Hopp |
94a1f8 |
else if (c == '{' || c == '}') /* to previous/next paragraph */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
pos_T pos;
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 395,402 ****
|
|
Karsten Hopp |
94a1f8 |
#ifdef FEAT_VISUAL
|
|
Karsten Hopp |
94a1f8 |
else if (c == '<' || c == '>') /* start/end of visual area */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! startp = &curbuf->b_visual.vi_start;
|
|
Karsten Hopp |
94a1f8 |
! endp = &curbuf->b_visual.vi_end;
|
|
Karsten Hopp |
94a1f8 |
if ((c == '<') == lt(*startp, *endp))
|
|
Karsten Hopp |
94a1f8 |
posp = startp;
|
|
Karsten Hopp |
94a1f8 |
else
|
|
Karsten Hopp |
94a1f8 |
--- 405,412 ----
|
|
Karsten Hopp |
94a1f8 |
#ifdef FEAT_VISUAL
|
|
Karsten Hopp |
94a1f8 |
else if (c == '<' || c == '>') /* start/end of visual area */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! startp = &buf->b_visual.vi_start;
|
|
Karsten Hopp |
94a1f8 |
! endp = &buf->b_visual.vi_end;
|
|
Karsten Hopp |
94a1f8 |
if ((c == '<') == lt(*startp, *endp))
|
|
Karsten Hopp |
94a1f8 |
posp = startp;
|
|
Karsten Hopp |
94a1f8 |
else
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 404,410 ****
|
|
Karsten Hopp |
94a1f8 |
/*
|
|
Karsten Hopp |
94a1f8 |
* For Visual line mode, set mark at begin or end of line
|
|
Karsten Hopp |
94a1f8 |
*/
|
|
Karsten Hopp |
94a1f8 |
! if (curbuf->b_visual.vi_mode == 'V')
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
pos_copy = *posp;
|
|
Karsten Hopp |
94a1f8 |
posp = &pos_copy;
|
|
Karsten Hopp |
94a1f8 |
--- 414,420 ----
|
|
Karsten Hopp |
94a1f8 |
/*
|
|
Karsten Hopp |
94a1f8 |
* For Visual line mode, set mark at begin or end of line
|
|
Karsten Hopp |
94a1f8 |
*/
|
|
Karsten Hopp |
94a1f8 |
! if (buf->b_visual.vi_mode == 'V')
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
pos_copy = *posp;
|
|
Karsten Hopp |
94a1f8 |
posp = &pos_copy;
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 420,426 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
else if (ASCII_ISLOWER(c)) /* normal named mark */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! posp = &(curbuf->b_namedm[c - 'a']);
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
else if (ASCII_ISUPPER(c) || VIM_ISDIGIT(c)) /* named file mark */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
--- 430,436 ----
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
else if (ASCII_ISLOWER(c)) /* normal named mark */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! posp = &(buf->b_namedm[c - 'a']);
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
else if (ASCII_ISUPPER(c) || VIM_ISDIGIT(c)) /* named file mark */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 435,441 ****
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
if (fnum != NULL)
|
|
Karsten Hopp |
94a1f8 |
*fnum = namedfm[c].fmark.fnum;
|
|
Karsten Hopp |
94a1f8 |
! else if (namedfm[c].fmark.fnum != curbuf->b_fnum)
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
/* mark is in another file */
|
|
Karsten Hopp |
94a1f8 |
posp = &pos_copy;
|
|
Karsten Hopp |
94a1f8 |
--- 445,451 ----
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
if (fnum != NULL)
|
|
Karsten Hopp |
94a1f8 |
*fnum = namedfm[c].fmark.fnum;
|
|
Karsten Hopp |
94a1f8 |
! else if (namedfm[c].fmark.fnum != buf->b_fnum)
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
/* mark is in another file */
|
|
Karsten Hopp |
94a1f8 |
posp = &pos_copy;
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/proto/charset.pro 2010-08-15 21:57:28.000000000 +0200
|
|
Karsten Hopp |
94a1f8 |
--- src/proto/charset.pro 2013-01-23 15:43:25.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 19,26 ****
|
|
Karsten Hopp |
94a1f8 |
int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
|
|
Karsten Hopp |
94a1f8 |
int vim_isIDc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_iswordc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_iswordp __ARGS((char_u *p));
|
|
Karsten Hopp |
94a1f8 |
! int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf));
|
|
Karsten Hopp |
94a1f8 |
int vim_isfilec __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_isfilec_or_wc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_isprintc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
--- 19,27 ----
|
|
Karsten Hopp |
94a1f8 |
int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len));
|
|
Karsten Hopp |
94a1f8 |
int vim_isIDc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_iswordc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
+ int vim_iswordc_buf __ARGS((int c, buf_T *buf));
|
|
Karsten Hopp |
94a1f8 |
int vim_iswordp __ARGS((char_u *p));
|
|
Karsten Hopp |
94a1f8 |
! int vim_iswordp_buf __ARGS((char_u *p, buf_T *buf));
|
|
Karsten Hopp |
94a1f8 |
int vim_isfilec __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_isfilec_or_wc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
int vim_isprintc __ARGS((int c));
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/proto/mark.pro 2010-08-15 21:57:28.000000000 +0200
|
|
Karsten Hopp |
94a1f8 |
--- src/proto/mark.pro 2013-01-23 14:24:23.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 5,12 ****
|
|
Karsten Hopp |
94a1f8 |
void checkpcmark __ARGS((void));
|
|
Karsten Hopp |
94a1f8 |
pos_T *movemark __ARGS((int count));
|
|
Karsten Hopp |
94a1f8 |
pos_T *movechangelist __ARGS((int count));
|
|
Karsten Hopp |
94a1f8 |
pos_T *getmark __ARGS((int c, int changefile));
|
|
Karsten Hopp |
94a1f8 |
! pos_T *getmark_fnum __ARGS((int c, int changefile, int *fnum));
|
|
Karsten Hopp |
94a1f8 |
pos_T *getnextmark __ARGS((pos_T *startpos, int dir, int begin_line));
|
|
Karsten Hopp |
94a1f8 |
void fmarks_check_names __ARGS((buf_T *buf));
|
|
Karsten Hopp |
94a1f8 |
int check_mark __ARGS((pos_T *pos));
|
|
Karsten Hopp |
94a1f8 |
--- 5,13 ----
|
|
Karsten Hopp |
94a1f8 |
void checkpcmark __ARGS((void));
|
|
Karsten Hopp |
94a1f8 |
pos_T *movemark __ARGS((int count));
|
|
Karsten Hopp |
94a1f8 |
pos_T *movechangelist __ARGS((int count));
|
|
Karsten Hopp |
94a1f8 |
+ pos_T *getmark_buf __ARGS((buf_T *buf, int c, int changefile));
|
|
Karsten Hopp |
94a1f8 |
pos_T *getmark __ARGS((int c, int changefile));
|
|
Karsten Hopp |
94a1f8 |
! pos_T *getmark_buf_fnum __ARGS((buf_T *buf, int c, int changefile, int *fnum));
|
|
Karsten Hopp |
94a1f8 |
pos_T *getnextmark __ARGS((pos_T *startpos, int dir, int begin_line));
|
|
Karsten Hopp |
94a1f8 |
void fmarks_check_names __ARGS((buf_T *buf));
|
|
Karsten Hopp |
94a1f8 |
int check_mark __ARGS((pos_T *pos));
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/regexp.c 2011-07-20 17:58:14.000000000 +0200
|
|
Karsten Hopp |
94a1f8 |
--- src/regexp.c 2013-01-23 14:19:15.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 3623,3629 ****
|
|
Karsten Hopp |
94a1f8 |
proftime_T *tm; /* timeout limit or NULL */
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
long r;
|
|
Karsten Hopp |
94a1f8 |
- buf_T *save_curbuf = curbuf;
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
reg_match = NULL;
|
|
Karsten Hopp |
94a1f8 |
reg_mmatch = rmp;
|
|
Karsten Hopp |
94a1f8 |
--- 3623,3628 ----
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 3638,3647 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
ireg_maxcol = rmp->rmm_maxcol;
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
- /* Need to switch to buffer "buf" to make vim_iswordc() work. */
|
|
Karsten Hopp |
94a1f8 |
- curbuf = buf;
|
|
Karsten Hopp |
94a1f8 |
r = vim_regexec_both(NULL, col, tm);
|
|
Karsten Hopp |
94a1f8 |
- curbuf = save_curbuf;
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
return r;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
--- 3637,3643 ----
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 4185,4191 ****
|
|
Karsten Hopp |
94a1f8 |
int cmp = OPERAND(scan)[1];
|
|
Karsten Hopp |
94a1f8 |
pos_T *pos;
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
! pos = getmark(mark, FALSE);
|
|
Karsten Hopp |
94a1f8 |
if (pos == NULL /* mark doesn't exist */
|
|
Karsten Hopp |
94a1f8 |
|| pos->lnum <= 0 /* mark isn't set (in curbuf) */
|
|
Karsten Hopp |
94a1f8 |
|| (pos->lnum == reglnum + reg_firstlnum
|
|
Karsten Hopp |
94a1f8 |
--- 4181,4187 ----
|
|
Karsten Hopp |
94a1f8 |
int cmp = OPERAND(scan)[1];
|
|
Karsten Hopp |
94a1f8 |
pos_T *pos;
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
! pos = getmark_buf(reg_buf, mark, FALSE);
|
|
Karsten Hopp |
94a1f8 |
if (pos == NULL /* mark doesn't exist */
|
|
Karsten Hopp |
94a1f8 |
|| pos->lnum <= 0 /* mark isn't set (in curbuf) */
|
|
Karsten Hopp |
94a1f8 |
|| (pos->lnum == reglnum + reg_firstlnum
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 4315,4322 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
else
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! if (!vim_iswordc(c)
|
|
Karsten Hopp |
94a1f8 |
! || (reginput > regline && vim_iswordc(reginput[-1])))
|
|
Karsten Hopp |
94a1f8 |
status = RA_NOMATCH;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
break;
|
|
Karsten Hopp |
94a1f8 |
--- 4311,4318 ----
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
else
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! if (!vim_iswordc_buf(c, reg_buf)
|
|
Karsten Hopp |
94a1f8 |
! || (reginput > regline && vim_iswordc_buf(reginput[-1], reg_buf)))
|
|
Karsten Hopp |
94a1f8 |
status = RA_NOMATCH;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
break;
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 4339,4346 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
else
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! if (!vim_iswordc(reginput[-1])
|
|
Karsten Hopp |
94a1f8 |
! || (reginput[0] != NUL && vim_iswordc(c)))
|
|
Karsten Hopp |
94a1f8 |
status = RA_NOMATCH;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
break; /* Matched with EOW */
|
|
Karsten Hopp |
94a1f8 |
--- 4335,4342 ----
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
else
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
! if (!vim_iswordc_buf(reginput[-1], reg_buf)
|
|
Karsten Hopp |
94a1f8 |
! || (reginput[0] != NUL && vim_iswordc_buf(c, reg_buf)))
|
|
Karsten Hopp |
94a1f8 |
status = RA_NOMATCH;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
break; /* Matched with EOW */
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/syntax.c 2012-10-21 21:25:17.000000000 +0200
|
|
Karsten Hopp |
94a1f8 |
--- src/syntax.c 2013-01-23 14:19:15.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 1954,1962 ****
|
|
Karsten Hopp |
94a1f8 |
if (do_keywords)
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
line = syn_getcurline();
|
|
Karsten Hopp |
94a1f8 |
! if (vim_iswordc_buf(line + current_col, syn_buf)
|
|
Karsten Hopp |
94a1f8 |
&& (current_col == 0
|
|
Karsten Hopp |
94a1f8 |
! || !vim_iswordc_buf(line + current_col - 1
|
|
Karsten Hopp |
94a1f8 |
#ifdef FEAT_MBYTE
|
|
Karsten Hopp |
94a1f8 |
- (has_mbyte
|
|
Karsten Hopp |
94a1f8 |
? (*mb_head_off)(line, line + current_col - 1)
|
|
Karsten Hopp |
94a1f8 |
--- 1954,1962 ----
|
|
Karsten Hopp |
94a1f8 |
if (do_keywords)
|
|
Karsten Hopp |
94a1f8 |
{
|
|
Karsten Hopp |
94a1f8 |
line = syn_getcurline();
|
|
Karsten Hopp |
94a1f8 |
! if (vim_iswordp_buf(line + current_col, syn_buf)
|
|
Karsten Hopp |
94a1f8 |
&& (current_col == 0
|
|
Karsten Hopp |
94a1f8 |
! || !vim_iswordp_buf(line + current_col - 1
|
|
Karsten Hopp |
94a1f8 |
#ifdef FEAT_MBYTE
|
|
Karsten Hopp |
94a1f8 |
- (has_mbyte
|
|
Karsten Hopp |
94a1f8 |
? (*mb_head_off)(line, line + current_col - 1)
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 3280,3286 ****
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
++kwlen;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
! while (vim_iswordc_buf(kwp + kwlen, syn_buf));
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
if (kwlen > MAXKEYWLEN)
|
|
Karsten Hopp |
94a1f8 |
return 0;
|
|
Karsten Hopp |
94a1f8 |
--- 3280,3286 ----
|
|
Karsten Hopp |
94a1f8 |
#endif
|
|
Karsten Hopp |
94a1f8 |
++kwlen;
|
|
Karsten Hopp |
94a1f8 |
}
|
|
Karsten Hopp |
94a1f8 |
! while (vim_iswordp_buf(kwp + kwlen, syn_buf));
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
if (kwlen > MAXKEYWLEN)
|
|
Karsten Hopp |
94a1f8 |
return 0;
|
|
Karsten Hopp |
94a1f8 |
*** ../vim-7.3.775/src/version.c 2013-01-23 13:55:16.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
--- src/version.c 2013-01-23 14:19:44.000000000 +0100
|
|
Karsten Hopp |
94a1f8 |
***************
|
|
Karsten Hopp |
94a1f8 |
*** 727,728 ****
|
|
Karsten Hopp |
94a1f8 |
--- 727,730 ----
|
|
Karsten Hopp |
94a1f8 |
{ /* Add new patch number below this line */
|
|
Karsten Hopp |
94a1f8 |
+ /**/
|
|
Karsten Hopp |
94a1f8 |
+ 776,
|
|
Karsten Hopp |
94a1f8 |
/**/
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
--
|
|
Karsten Hopp |
94a1f8 |
Q: How does a UNIX Guru do Sex ?
|
|
Karsten Hopp |
94a1f8 |
A: unzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep
|
|
Karsten Hopp |
94a1f8 |
|
|
Karsten Hopp |
94a1f8 |
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
Karsten Hopp |
94a1f8 |
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
Karsten Hopp |
94a1f8 |
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
Karsten Hopp |
94a1f8 |
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|