diff --git a/7.1.247 b/7.1.247 new file mode 100644 index 0000000..ca65c9d --- /dev/null +++ b/7.1.247 @@ -0,0 +1,162 @@ +To: vim-dev@vim.org +Subject: Patch 7.1.247 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.247 +Problem: When using Netbeans backspacing in Insert mode skips a character + now and then. (Ankit Jain) +Solution: Avoid calling netbeans_removed(), it frees the line pointer. + (partly by Dominique Pelle). +Files: src/misc1.c + + +*** ../vim-7.1.246/src/misc1.c Sat Jan 19 15:55:51 2008 +--- src/misc1.c Wed Feb 13 10:56:16 2008 +*************** +*** 2270,2282 **** + /* + * If the old line has been allocated the deletion can be done in the + * existing line. Otherwise a new line has to be allocated + */ +- was_alloced = ml_line_alloced(); /* check if oldp was allocated */ + #ifdef FEAT_NETBEANS_INTG +! if (was_alloced && usingNetbeans) +! netbeans_removed(curbuf, lnum, col, count); +! /* else is handled by ml_replace() */ + #endif + if (was_alloced) + newp = oldp; /* use same allocated memory */ + else +--- 2270,2285 ---- + /* + * If the old line has been allocated the deletion can be done in the + * existing line. Otherwise a new line has to be allocated ++ * Can't do this when using Netbeans, because we would need to invoke ++ * netbeans_removed(), which deallocates the line. Let ml_replace() take ++ * care of notifiying Netbeans. + */ + #ifdef FEAT_NETBEANS_INTG +! if (usingNetbeans) +! was_alloced = FALSE; +! else + #endif ++ was_alloced = ml_line_alloced(); /* check if oldp was allocated */ + if (was_alloced) + newp = oldp; /* use same allocated memory */ + else +*************** +*** 3978,3984 **** + /* remove trailing path separator */ + #ifndef MACOS_CLASSIC + /* With MacOS path (with colons) the final colon is required */ +! /* to avoid confusion between absoulute and relative path */ + if (pend > p && after_pathsep(p, pend)) + --pend; + #endif +--- 3981,3987 ---- + /* remove trailing path separator */ + #ifndef MACOS_CLASSIC + /* With MacOS path (with colons) the final colon is required */ +! /* to avoid confusion between absolute and relative path */ + if (pend > p && after_pathsep(p, pend)) + --pend; + #endif +*************** +*** 5689,5695 **** + else if (lookfor_ctor_init || class_or_struct) + { + /* we have something found, that looks like the start of +! * cpp-base-class-declaration or contructor-initialization */ + cpp_base_class = TRUE; + lookfor_ctor_init = class_or_struct = FALSE; + *col = 0; +--- 5692,5698 ---- + else if (lookfor_ctor_init || class_or_struct) + { + /* we have something found, that looks like the start of +! * cpp-base-class-declaration or constructor-initialization */ + cpp_base_class = TRUE; + lookfor_ctor_init = class_or_struct = FALSE; + *col = 0; +*************** +*** 6146,6152 **** + pos_T our_paren_pos; + char_u *start; + int start_brace; +! #define BRACE_IN_COL0 1 /* '{' is in comumn 0 */ + #define BRACE_AT_START 2 /* '{' is at start of line */ + #define BRACE_AT_END 3 /* '{' is at end of line */ + linenr_T ourscope; +--- 6149,6155 ---- + pos_T our_paren_pos; + char_u *start; + int start_brace; +! #define BRACE_IN_COL0 1 /* '{' is in column 0 */ + #define BRACE_AT_START 2 /* '{' is at start of line */ + #define BRACE_AT_END 3 /* '{' is at end of line */ + linenr_T ourscope; +*************** +*** 6369,6375 **** + if (curwin->w_cursor.lnum > 1) + { + /* If the start comment string matches in the previous +! * line, use the indent of that line pluss offset. If + * the middle comment string matches in the previous + * line, use the indent of that line. XXX */ + look = skipwhite(ml_get(curwin->w_cursor.lnum - 1)); +--- 6372,6378 ---- + if (curwin->w_cursor.lnum > 1) + { + /* If the start comment string matches in the previous +! * line, use the indent of that line plus offset. If + * the middle comment string matches in the previous + * line, use the indent of that line. XXX */ + look = skipwhite(ml_get(curwin->w_cursor.lnum - 1)); +*************** +*** 8222,8228 **** + + if (*that && *that != ';') /* not a comment line */ + { +! /* test *that != '(' to accomodate first let/do + * argument if it is more than one line */ + if (!vi_lisp && *that != '(' && *that != '[') + firsttry++; +--- 8225,8231 ---- + + if (*that && *that != ';') /* not a comment line */ + { +! /* test *that != '(' to accommodate first let/do + * argument if it is more than one line */ + if (!vi_lisp && *that != '(' && *that != '[') + firsttry++; +*** ../vim-7.1.246/src/version.c Wed Feb 13 10:27:28 2008 +--- src/version.c Wed Feb 13 10:56:42 2008 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 247, + /**/ + +-- +Far back in the mists of ancient time, in the great and glorious days of the +former Galactic Empire, life was wild, rich and largely tax free. +Mighty starships plied their way between exotic suns, seeking adventure and +reward among the furthest reaches of Galactic space. In those days, spirits +were brave, the stakes were high, men were real men, women were real women +and small furry creatures from Alpha Centauri were real small furry creatures +from Alpha Centauri. And all dared to brave unknown terrors, to do mighty +deeds, to boldly split infinitives that no man had split before -- and thus +was the Empire forged. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///