From 31ba1b902b9d5a7df9f7fcb97d131800fc90bfdd Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Jan 18 2008 13:54:58 +0000 Subject: - patchlevel 233 - fix ada patch --- diff --git a/7.1.231 b/7.1.231 new file mode 100644 index 0000000..e9c7885 --- /dev/null +++ b/7.1.231 @@ -0,0 +1,291 @@ +To: vim-dev@vim.org +Subject: Patch 7.1.231 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.231 +Problem: When shifting lines the change is acted upon multiple times. +Solution: Don't have shift_line() call changed_bytes. +Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro + + +*** ../vim-7.1.230/src/edit.c Mon Jan 14 20:11:37 2008 +--- src/edit.c Mon Jan 14 20:06:43 2008 +*************** +*** 1662,1672 **** + * if round is TRUE, round the indent to 'shiftwidth' (only with _INC and _Dec). + */ + void +! change_indent(type, amount, round, replaced) + int type; + int amount; + int round; + int replaced; /* replaced character, put on replace stack */ + { + int vcol; + int last_vcol; +--- 1662,1673 ---- + * if round is TRUE, round the indent to 'shiftwidth' (only with _INC and _Dec). + */ + void +! change_indent(type, amount, round, replaced, call_changed_bytes) + int type; + int amount; + int round; + int replaced; /* replaced character, put on replace stack */ ++ int call_changed_bytes; /* call changed_bytes() */ + { + int vcol; + int last_vcol; +*************** +*** 1723,1729 **** + * Set the new indent. The cursor will be put on the first non-blank. + */ + if (type == INDENT_SET) +! (void)set_indent(amount, SIN_CHANGED); + else + { + #ifdef FEAT_VREPLACE +--- 1724,1730 ---- + * Set the new indent. The cursor will be put on the first non-blank. + */ + if (type == INDENT_SET) +! (void)set_indent(amount, call_changed_bytes ? SIN_CHANGED : 0); + else + { + #ifdef FEAT_VREPLACE +*************** +*** 1733,1739 **** + if (State & VREPLACE_FLAG) + State = INSERT; + #endif +! shift_line(type == INDENT_DEC, round, 1); + #ifdef FEAT_VREPLACE + State = save_State; + #endif +--- 1734,1740 ---- + if (State & VREPLACE_FLAG) + State = INSERT; + #endif +! shift_line(type == INDENT_DEC, round, 1, call_changed_bytes); + #ifdef FEAT_VREPLACE + State = save_State; + #endif +*************** +*** 5921,5927 **** + { + #ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) +! change_indent(INDENT_SET, second_indent, FALSE, NUL); + else + #endif + (void)set_indent(second_indent, SIN_CHANGED); +--- 5922,5928 ---- + { + #ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) +! change_indent(INDENT_SET, second_indent, FALSE, NUL, TRUE); + else + #endif + (void)set_indent(second_indent, SIN_CHANGED); +*************** +*** 7227,7233 **** + fixthisline(get_the_indent) + int (*get_the_indent) __ARGS((void)); + { +! change_indent(INDENT_SET, get_the_indent(), FALSE, 0); + if (linewhite(curwin->w_cursor.lnum)) + did_ai = TRUE; /* delete the indent if the line stays empty */ + } +--- 7228,7234 ---- + fixthisline(get_the_indent) + int (*get_the_indent) __ARGS((void)); + { +! change_indent(INDENT_SET, get_the_indent(), FALSE, 0, TRUE); + if (linewhite(curwin->w_cursor.lnum)) + did_ai = TRUE; /* delete the indent if the line stays empty */ + } +*************** +*** 8170,8179 **** + replace_pop_ins(); + if (lastc == '^') + old_indent = get_indent(); /* remember curr. indent */ +! change_indent(INDENT_SET, 0, TRUE, 0); + } + else +! change_indent(c == Ctrl_D ? INDENT_DEC : INDENT_INC, 0, TRUE, 0); + + if (did_ai && *skipwhite(ml_get_curline()) != NUL) + did_ai = FALSE; +--- 8171,8180 ---- + replace_pop_ins(); + if (lastc == '^') + old_indent = get_indent(); /* remember curr. indent */ +! change_indent(INDENT_SET, 0, TRUE, 0, TRUE); + } + else +! change_indent(c == Ctrl_D ? INDENT_DEC : INDENT_INC, 0, TRUE, 0, TRUE); + + if (did_ai && *skipwhite(ml_get_curline()) != NUL) + did_ai = FALSE; +*************** +*** 9633,9639 **** + curwin->w_cursor = old_pos; + #ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) +! change_indent(INDENT_SET, i, FALSE, NUL); + else + #endif + (void)set_indent(i, SIN_CHANGED); +--- 9634,9640 ---- + curwin->w_cursor = old_pos; + #ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) +! change_indent(INDENT_SET, i, FALSE, NUL, TRUE); + else + #endif + (void)set_indent(i, SIN_CHANGED); +*************** +*** 9662,9668 **** + curwin->w_cursor = old_pos; + } + if (temp) +! shift_line(TRUE, FALSE, 1); + } + } + +--- 9663,9669 ---- + curwin->w_cursor = old_pos; + } + if (temp) +! shift_line(TRUE, FALSE, 1, TRUE); + } + } + +*** ../vim-7.1.230/src/ops.c Thu Jan 3 16:31:17 2008 +--- src/ops.c Sun Jan 13 21:52:18 2008 +*************** +*** 258,264 **** + if (first_char != '#' || !preprocs_left()) + #endif + { +! shift_line(oap->op_type == OP_LSHIFT, p_sr, amount); + } + ++curwin->w_cursor.lnum; + } +--- 258,264 ---- + if (first_char != '#' || !preprocs_left()) + #endif + { +! shift_line(oap->op_type == OP_LSHIFT, p_sr, amount, FALSE); + } + ++curwin->w_cursor.lnum; + } +*************** +*** 321,330 **** + * leaves cursor on first blank in the line + */ + void +! shift_line(left, round, amount) + int left; + int round; + int amount; + { + int count; + int i, j; +--- 321,331 ---- + * leaves cursor on first blank in the line + */ + void +! shift_line(left, round, amount, call_changed_bytes) + int left; + int round; + int amount; ++ int call_changed_bytes; /* call changed_bytes() */ + { + int count; + int i, j; +*************** +*** 363,372 **** + /* Set new indent */ + #ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) +! change_indent(INDENT_SET, count, FALSE, NUL); + else + #endif +! (void)set_indent(count, SIN_CHANGED); + } + + #if defined(FEAT_VISUALEXTRA) || defined(PROTO) +--- 364,373 ---- + /* Set new indent */ + #ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) +! change_indent(INDENT_SET, count, FALSE, NUL, call_changed_bytes); + else + #endif +! (void)set_indent(count, call_changed_bytes ? SIN_CHANGED : 0); + } + + #if defined(FEAT_VISUALEXTRA) || defined(PROTO) +*** ../vim-7.1.230/src/proto/edit.pro Wed Jan 2 17:48:24 2008 +--- src/proto/edit.pro Sun Jan 13 21:52:27 2008 +*************** +*** 3,9 **** + void edit_putchar __ARGS((int c, int highlight)); + void edit_unputchar __ARGS((void)); + void display_dollar __ARGS((colnr_T col)); +! void change_indent __ARGS((int type, int amount, int round, int replaced)); + void truncate_spaces __ARGS((char_u *line)); + void backspace_until_column __ARGS((int col)); + int vim_is_ctrl_x_key __ARGS((int c)); +--- 3,9 ---- + void edit_putchar __ARGS((int c, int highlight)); + void edit_unputchar __ARGS((void)); + void display_dollar __ARGS((colnr_T col)); +! void change_indent __ARGS((int type, int amount, int round, int replaced, int call_changed_bytes)); + void truncate_spaces __ARGS((char_u *line)); + void backspace_until_column __ARGS((int col)); + int vim_is_ctrl_x_key __ARGS((int c)); +*** ../vim-7.1.230/src/proto/ops.pro Sun May 6 13:56:32 2007 +--- src/proto/ops.pro Sun Jan 13 21:52:30 2008 +*************** +*** 4,10 **** + int get_op_char __ARGS((int optype)); + int get_extra_op_char __ARGS((int optype)); + void op_shift __ARGS((oparg_T *oap, int curs_top, int amount)); +! void shift_line __ARGS((int left, int round, int amount)); + void op_reindent __ARGS((oparg_T *oap, int (*how)(void))); + int get_expr_register __ARGS((void)); + void set_expr_line __ARGS((char_u *new_line)); +--- 4,10 ---- + int get_op_char __ARGS((int optype)); + int get_extra_op_char __ARGS((int optype)); + void op_shift __ARGS((oparg_T *oap, int curs_top, int amount)); +! void shift_line __ARGS((int left, int round, int amount, int call_changed_bytes)); + void op_reindent __ARGS((oparg_T *oap, int (*how)(void))); + int get_expr_register __ARGS((void)); + void set_expr_line __ARGS((char_u *new_line)); +*** ../vim-7.1.230/src/version.c Tue Jan 15 22:16:36 2008 +--- src/version.c Wed Jan 16 19:58:25 2008 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 231, + /**/ + +-- +Snoring is prohibited unless all bedroom windows are closed and securely +locked. + [real standing law in Massachusetts, United States of America] + + /// 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 /// diff --git a/7.1.232 b/7.1.232 new file mode 100644 index 0000000..092d6fa --- /dev/null +++ b/7.1.232 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.1.232 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.232 (after 7.1.207 and 7.1.211) +Problem: Compiler warnings with MSVC. +Solution: Add type casts. (Mike Williams) +Files: src/ex_cmds2.c, src/netbeans.c + + +*** ../vim-7.1.231/src/ex_cmds2.c Tue Jan 15 22:16:36 2008 +--- src/ex_cmds2.c Tue Jan 15 20:41:28 2008 +*************** +*** 916,922 **** + + QueryPerformanceCounter(tm); + QueryPerformanceFrequency(&fr); +! tm->QuadPart += (double)msec / 1000.0 * (double)fr.QuadPart; + # else + long usec; + +--- 916,922 ---- + + QueryPerformanceCounter(tm); + QueryPerformanceFrequency(&fr); +! tm->QuadPart += (LONGLONG)((double)msec / 1000.0 * (double)fr.QuadPart); + # else + long usec; + +*** ../vim-7.1.231/src/netbeans.c Sat Jan 5 18:06:33 2008 +--- src/netbeans.c Mon Jan 14 21:11:02 2008 +*************** +*** 1217,1223 **** + + oldtext = ml_get(lnum); + oldlen = STRLEN(oldtext); +! if (first >= oldlen || oldlen == 0) /* just in case */ + return; + if (lastbyte >= oldlen) + lastbyte = oldlen - 1; +--- 1217,1223 ---- + + oldtext = ml_get(lnum); + oldlen = STRLEN(oldtext); +! if (first >= (colnr_T)oldlen || oldlen == 0) /* just in case */ + return; + if (lastbyte >= oldlen) + lastbyte = oldlen - 1; +*** ../vim-7.1.231/src/version.c Wed Jan 16 20:01:14 2008 +--- src/version.c Fri Jan 18 11:38:39 2008 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 232, + /**/ + +-- +Why is "abbreviation" such a long word? + + /// 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 /// diff --git a/7.1.233 b/7.1.233 new file mode 100644 index 0000000..b2f07e3 --- /dev/null +++ b/7.1.233 @@ -0,0 +1,109 @@ +To: vim-dev@vim.org +Subject: Patch 7.1.233 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.233 +Problem: Crash when doing Insert mode completion for a user defined + command. (Yegappan Lakshmanan) +Solution: Don't use the non-existing command line. +Files: src/ex_getln.c + + +*** ../vim-7.1.232/src/ex_getln.c Fri Jan 4 15:16:57 2008 +--- src/ex_getln.c Fri Jan 18 13:07:11 2008 +*************** +*** 4655,4661 **** + static void * call_user_expand_func __ARGS((void *(*user_expand_func) __ARGS((char_u *, int, char_u **, int)), expand_T *xp, int *num_file, char_u ***file)); + + /* +! * call "user_expand_func()" to invoke a user defined VimL function and return + * the result (either a string or a List). + */ + static void * +--- 4655,4661 ---- + static void * call_user_expand_func __ARGS((void *(*user_expand_func) __ARGS((char_u *, int, char_u **, int)), expand_T *xp, int *num_file, char_u ***file)); + + /* +! * Call "user_expand_func()" to invoke a user defined VimL function and return + * the result (either a string or a List). + */ + static void * +*************** +*** 4677,4687 **** + *num_file = 0; + *file = NULL; + +! keep = ccline.cmdbuff[ccline.cmdlen]; +! ccline.cmdbuff[ccline.cmdlen] = 0; +! sprintf((char *)num, "%d", ccline.cmdpos); + args[0] = xp->xp_pattern; +- args[1] = ccline.cmdbuff; + args[2] = num; + + /* Save the cmdline, we don't know what the function may do. */ +--- 4677,4698 ---- + *num_file = 0; + *file = NULL; + +! if (ccline.cmdbuff == NULL) +! { +! /* Completion from Insert mode, pass fake arguments. */ +! keep = 0; +! sprintf((char *)num, "%d", STRLEN(xp->xp_pattern)); +! args[1] = xp->xp_pattern; +! } +! else +! { +! /* Completion on the command line, pass real arguments. */ +! keep = ccline.cmdbuff[ccline.cmdlen]; +! ccline.cmdbuff[ccline.cmdlen] = 0; +! sprintf((char *)num, "%d", ccline.cmdpos); +! args[1] = ccline.cmdbuff; +! } + args[0] = xp->xp_pattern; + args[2] = num; + + /* Save the cmdline, we don't know what the function may do. */ +*************** +*** 4694,4701 **** + + ccline = save_ccline; + current_SID = save_current_SID; +! +! ccline.cmdbuff[ccline.cmdlen] = keep; + + return ret; + } +--- 4705,4712 ---- + + ccline = save_ccline; + current_SID = save_current_SID; +! if (ccline.cmdbuff != NULL) +! ccline.cmdbuff[ccline.cmdlen] = keep; + + return ret; + } +*** ../vim-7.1.232/src/version.c Fri Jan 18 11:40:02 2008 +--- src/version.c Fri Jan 18 13:01:05 2008 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 233, + /**/ + +-- +"I love deadlines. I especially like the whooshing sound they +make as they go flying by." + -- Douglas Adams + + /// 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 /// diff --git a/README.patches b/README.patches index a9bc70f..01e8158 100644 --- a/README.patches +++ b/README.patches @@ -261,3 +261,6 @@ Individual patches for Vim 7.1: 1678 7.1.228 with 'foldmethod' "indent" fold can't be closed after "3>>" 1758 7.1.229 a fold is closed when backspacing in Insert mode 2052 7.1.230 memory leak when executing SourceCmd autocommands + 8648 7.1.231 when shifting lines the change is acted upon multiple times + 2002 7.1.232 (after 7.1.207 and 7.1.211) compiler warnings with MSVC + 3249 7.1.233 crash with Insert mode completion for a user defined command diff --git a/vim.spec b/vim.spec index d015a07..9b78e6b 100644 --- a/vim.spec +++ b/vim.spec @@ -17,13 +17,13 @@ #used for pre-releases: %define beta %{nil} %define vimdir vim71%{?beta} -%define patchlevel 230 +%define patchlevel 233 Summary: The VIM editor URL: http://www.vim.org/ Name: vim Version: %{baseversion}.%{beta}%{patchlevel} -Release: 2%{?dist} +Release: 1%{?dist} License: Vim Group: Applications/Editors Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2 @@ -283,6 +283,9 @@ Patch227: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.227 Patch228: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.228 Patch229: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.229 Patch230: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.230 +Patch231: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.231 +Patch232: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.232 +Patch233: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.233 Patch3000: vim-7.0-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -647,6 +650,9 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch228 -p0 %patch229 -p0 %patch230 -p0 +%patch231 -p0 +%patch232 -p0 +%patch233 -p0 # install spell files @@ -1034,6 +1040,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/*/apps/* %changelog +* Fri Jan 18 2008 Karsten Hopp 7.1.233-1 +- patchlevel 233 +- fix ada patch + * Wed Jan 16 2008 Karsten Hopp 7.1.230-2 - add newer ada runtime files to fix bugzilla #246378