| To: vim-dev@vim.org |
| Subject: Patch 7.0.061 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.0.061 |
| Problem: Insert mode completion for Vim commands may crash if there is |
| nothing to complete. |
| Solution: Instead of freeing the pattern make it empty, so that a "not |
| found" error is given. (Yukihiro Nakadaira) |
| Files: src/edit.c |
| |
| |
| |
| |
| |
| *** 4691,4708 **** |
| (int)STRLEN(compl_pattern), curs_col); |
| if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL |
| || compl_xp.xp_context == EXPAND_NOTHING) |
| ! { |
| compl_col = curs_col; |
| - compl_length = 0; |
| - vim_free(compl_pattern); |
| - compl_pattern = NULL; |
| - } |
| else |
| ! { |
| ! startcol = (int)(compl_xp.xp_pattern - compl_pattern); |
| ! compl_col = startcol; |
| ! compl_length = curs_col - startcol; |
| ! } |
| } |
| else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI) |
| { |
| --- 4692,4703 ---- |
| (int)STRLEN(compl_pattern), curs_col); |
| if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL |
| || compl_xp.xp_context == EXPAND_NOTHING) |
| ! /* No completion possible, use an empty pattern to get a |
| ! * "pattern not found" message. */ |
| compl_col = curs_col; |
| else |
| ! compl_col = (int)(compl_xp.xp_pattern - compl_pattern); |
| ! compl_length = curs_col - compl_col; |
| } |
| else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI) |
| { |
| |
| |
| |
| *** 668,669 **** |
| --- 668,671 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 61, |
| /**/ |
| |
| -- |
| hundred-and-one symptoms of being an internet addict: |
| 165. You have a web page burned into your glasses |
| |
| /// 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 /// |