diff options
author | vimboss <devnull@localhost> | 2007-08-04 10:14:52 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2007-08-04 10:14:52 +0000 |
commit | 74693413ce5a8cd23e3faf4b26e52fc8feed3883 (patch) | |
tree | 6297562220b4eb28bf23f89ab318a3caf5e6ea29 | |
parent | e3a5e7a6e85ceee5dd2bb73412a4e67e448659d1 (diff) | |
download | vim-74693413ce5a8cd23e3faf4b26e52fc8feed3883.tar.gz |
-rw-r--r-- | src/misc1.c | 21 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 15 insertions, 8 deletions
diff --git a/src/misc1.c b/src/misc1.c index a1278f62..816c9471 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -4820,7 +4820,7 @@ static int cin_isdo __ARGS((char_u *)); static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int)); static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment)); static int cin_isbreak __ARGS((char_u *)); -static int cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col)); +static int cin_is_cpp_baseclass __ARGS((colnr_T *col)); static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass)); static int cin_ends_in __ARGS((char_u *, char_u *, char_u *)); static int cin_skip2pos __ARGS((pos_T *trypos)); @@ -5585,13 +5585,13 @@ cin_isbreak(p) * This is a lot of guessing. Watch out for "cond ? func() : foo". */ static int -cin_is_cpp_baseclass(line, col) - char_u *line; +cin_is_cpp_baseclass(col) colnr_T *col; /* return: column to align with */ { char_u *s; int class_or_struct, lookfor_ctor_init, cpp_base_class; linenr_T lnum = curwin->w_cursor.lnum; + char_u *line = ml_get_curline(); *col = 0; @@ -5619,7 +5619,8 @@ cin_is_cpp_baseclass(line, col) */ while (lnum > 1) { - s = skipwhite(ml_get(lnum - 1)); + line = ml_get(lnum - 1); + s = skipwhite(line); if (*s == '#' || *s == NUL) break; while (*s != NUL) @@ -5636,7 +5637,8 @@ cin_is_cpp_baseclass(line, col) --lnum; } - s = cin_skipcomment(ml_get(lnum)); + line = ml_get(lnum); + s = cin_skipcomment(line); for (;;) { if (*s == NUL) @@ -5644,7 +5646,10 @@ cin_is_cpp_baseclass(line, col) if (lnum == curwin->w_cursor.lnum) break; /* Continue in the cursor line. */ - s = cin_skipcomment(ml_get(++lnum)); + line = ml_get(++lnum); + s = cin_skipcomment(line); + if (*s == NUL) + continue; } if (s[0] == ':') @@ -7113,7 +7118,7 @@ get_c_indent() n = FALSE; if (lookfor != LOOKFOR_TERM && ind_cpp_baseclass > 0) { - n = cin_is_cpp_baseclass(l, &col); + n = cin_is_cpp_baseclass(&col); l = ml_get_curline(); } if (n) @@ -7704,7 +7709,7 @@ term_again: n = FALSE; if (ind_cpp_baseclass != 0 && theline[0] != '{') { - n = cin_is_cpp_baseclass(l, &col); + n = cin_is_cpp_baseclass(&col); l = ml_get_curline(); } if (n) diff --git a/src/version.c b/src/version.c index a9ec9917..95f2a4fa 100644 --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 50, +/**/ 49, /**/ 48, |