From: Adam Gołębiowski Date: Sun, 1 Mar 2009 01:56:06 +0000 (+0000) Subject: - new X-Git-Tag: auto/th/vim-7_2_128-1 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fvim.git;a=commitdiff_plain;h=78f27e33dabb425833387af410b0f6d67d319c7e - new Changed files: 7.2.122 -> 1.1 7.2.123 -> 1.1 7.2.124 -> 1.1 7.2.125 -> 1.1 7.2.126 -> 1.1 7.2.127 -> 1.1 7.2.128 -> 1.1 --- diff --git a/7.2.122 b/7.2.122 new file mode 100644 index 0000000..18f6989 --- /dev/null +++ b/7.2.122 @@ -0,0 +1,80 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.122 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.122 +Problem: Invalid memory access when the VimResized autocommand changes + 'columns' and/or 'lines'. +Solution: After VimResized check for changed values. (Dominique Pelle) +Files: src/screen.c + + +*** ../vim-7.2.121/src/screen.c Sun Feb 22 01:13:45 2009 +--- src/screen.c Sun Feb 22 01:07:38 2009 +*************** +*** 7368,7374 **** +--- 7368,7378 ---- + #endif + static int entered = FALSE; /* avoid recursiveness */ + static int done_outofmem_msg = FALSE; /* did outofmem message */ ++ #ifdef FEAT_AUTOCMD ++ int retry_count = 0; + ++ retry: ++ #endif + /* + * Allocation of the screen buffers is done only when the size changes and + * when Rows and Columns have been set and we have started doing full +*************** +*** 7643,7650 **** + --RedrawingDisabled; + + #ifdef FEAT_AUTOCMD +! if (starting == 0) + apply_autocmds(EVENT_VIMRESIZED, NULL, NULL, FALSE, curbuf); + #endif + } + +--- 7647,7663 ---- + --RedrawingDisabled; + + #ifdef FEAT_AUTOCMD +! /* +! * Do not apply autocommands more than 3 times to avoid an endless loop +! * in case applying autocommands always changes Rows or Columns. +! */ +! if (starting == 0 && ++retry_count <= 3) +! { + apply_autocmds(EVENT_VIMRESIZED, NULL, NULL, FALSE, curbuf); ++ /* In rare cases, autocommands may have altered Rows or Columns, ++ * jump back to check if we need to allocate the screen again. */ ++ goto retry; ++ } + #endif + } + +*** ../vim-7.2.121/src/version.c Sun Feb 22 02:51:37 2009 +--- src/version.c Sun Feb 22 21:11:14 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 122, + /**/ + +-- +FIXME and XXX are two common keywords used to mark broken or incomplete code +not only since XXX as a sex reference would grab everbodys attention but +simply due to the fact that Vim would highlight these words. + -- Hendrik Scholz + + /// 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.2.123 b/7.2.123 new file mode 100644 index 0000000..4cf9b81 --- /dev/null +++ b/7.2.123 @@ -0,0 +1,50 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.123 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.123 +Problem: Typing 'q' at more prompt for ":map" output still displays another + line, causing another more prompt. (Markus Heidelberg) +Solution: Quit listing maps when 'q' typed. +Files: src/getchar.c + + +*** ../vim-7.2.122/src/getchar.c Fri Nov 28 12:05:07 2008 +--- src/getchar.c Sun Feb 22 23:10:45 2009 +*************** +*** 3816,3822 **** +--- 3816,3826 ---- + int len = 1; + + if (msg_didout || msg_silent != 0) ++ { + msg_putchar('\n'); ++ if (got_int) /* 'q' typed at MORE prompt */ ++ return; ++ } + if ((mp->m_mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) + msg_putchar('!'); /* :map! */ + else if (mp->m_mode & INSERT) +*** ../vim-7.2.122/src/version.c Sun Feb 22 21:12:22 2009 +--- src/version.c Sun Feb 22 23:16:29 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 123, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +120. You ask a friend, "What's that big shiny thing?" He says, "It's the sun." + + /// 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.2.124 b/7.2.124 new file mode 100644 index 0000000..eca6bec --- /dev/null +++ b/7.2.124 @@ -0,0 +1,122 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.124 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.124 +Problem: Typing 'q' at more prompt for ":tselect" output still displays + more lines, causing another more prompt. (Markus Heidelberg) +Solution: Quit listing tags when 'q' typed. +Files: src/tag.c + + +*** ../vim-7.2.123/src/tag.c Sat Feb 21 22:57:10 2009 +--- src/tag.c Mon Feb 23 00:07:24 2009 +*************** +*** 618,624 **** + taglen_advance(taglen); + MSG_PUTS_ATTR(_("file\n"), hl_attr(HLF_T)); + +! for (i = 0; i < num_matches; ++i) + { + parse_match(matches[i], &tagp); + if (!new_tag && ( +--- 618,624 ---- + taglen_advance(taglen); + MSG_PUTS_ATTR(_("file\n"), hl_attr(HLF_T)); + +! for (i = 0; i < num_matches && !got_int; ++i) + { + parse_match(matches[i], &tagp); + if (!new_tag && ( +*************** +*** 655,660 **** +--- 655,662 ---- + } + if (msg_col > 0) + msg_putchar('\n'); ++ if (got_int) ++ break; + msg_advance(15); + + /* print any extra fields */ +*************** +*** 689,694 **** +--- 691,698 ---- + if (msg_col + ptr2cells(p) >= Columns) + { + msg_putchar('\n'); ++ if (got_int) ++ break; + msg_advance(15); + } + p = msg_outtrans_one(p, attr); +*************** +*** 704,709 **** +--- 708,715 ---- + if (msg_col > 15) + { + msg_putchar('\n'); ++ if (got_int) ++ break; + msg_advance(15); + } + } +*************** +*** 734,739 **** +--- 740,747 ---- + { + if (msg_col + (*p == TAB ? 1 : ptr2cells(p)) > Columns) + msg_putchar('\n'); ++ if (got_int) ++ break; + msg_advance(15); + + /* skip backslash used for escaping command char */ +*************** +*** 760,771 **** + if (msg_col) + msg_putchar('\n'); + ui_breakcheck(); +- if (got_int) +- { +- got_int = FALSE; /* only stop the listing */ +- break; +- } + } + ask_for_selection = TRUE; + } + #if defined(FEAT_QUICKFIX) && defined(FEAT_EVAL) +--- 768,776 ---- + if (msg_col) + msg_putchar('\n'); + ui_breakcheck(); + } ++ if (got_int) ++ got_int = FALSE; /* only stop the listing */ + ask_for_selection = TRUE; + } + #if defined(FEAT_QUICKFIX) && defined(FEAT_EVAL) +*** ../vim-7.2.123/src/version.c Sun Feb 22 23:42:08 2009 +--- src/version.c Mon Feb 23 00:51:57 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 124, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +123. You ask the car dealer to install an extra cigarette lighter + on your new car to power your notebook. + + /// 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.2.125 b/7.2.125 new file mode 100644 index 0000000..460bdea --- /dev/null +++ b/7.2.125 @@ -0,0 +1,161 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.125 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.125 +Problem: Leaking memory when reading XPM bitmap for a sign. +Solution: Don't allocate the memory twice. (Dominique Pelle) +Files: src/gui_x11.c + + +*** ../vim-7.2.124/src/gui_x11.c Wed Nov 12 13:07:48 2008 +--- src/gui_x11.c Sun Feb 22 21:58:19 2009 +*************** +*** 1587,1592 **** +--- 1587,1594 ---- + XtCloseDisplay(gui.dpy); + gui.dpy = NULL; + vimShell = (Widget)0; ++ vim_free(gui_argv); ++ gui_argv = NULL; + } + + /* +*************** +*** 1761,1766 **** +--- 1763,1770 ---- + * says that this isn't needed when exiting, so just skip it. */ + XtCloseDisplay(gui.dpy); + #endif ++ vim_free(gui_argv); ++ gui_argv = NULL; + } + + /* +*************** +*** 3439,3485 **** + char_u *signfile; + { + XpmAttributes attrs; +! XImage *sign; + int status; + + /* + * Setup the color substitution table. + */ +- sign = NULL; + if (signfile[0] != NUL && signfile[0] != '-') + { +! sign = (XImage *)alloc(sizeof(XImage)); +! if (sign != NULL) + { +! XpmColorSymbol color[5] = +! { +! {"none", NULL, 0}, +! {"iconColor1", NULL, 0}, +! {"bottomShadowColor", NULL, 0}, +! {"topShadowColor", NULL, 0}, +! {"selectColor", NULL, 0} +! }; +! attrs.valuemask = XpmColorSymbols; +! attrs.numsymbols = 2; +! attrs.colorsymbols = color; +! attrs.colorsymbols[0].pixel = gui.back_pixel; +! attrs.colorsymbols[1].pixel = gui.norm_pixel; +! status = XpmReadFileToImage(gui.dpy, (char *)signfile, + &sign, NULL, &attrs); +! +! if (status == 0) +! { +! /* Sign width is fixed at two columns now. +! if (sign->width > gui.sign_width) +! gui.sign_width = sign->width + 8; */ +! } +! else +! { +! vim_free(sign); +! sign = NULL; +! EMSG(_(e_signdata)); +! } + } + } + + return (void *)sign; +--- 3443,3479 ---- + char_u *signfile; + { + XpmAttributes attrs; +! XImage *sign = NULL; + int status; + + /* + * Setup the color substitution table. + */ + if (signfile[0] != NUL && signfile[0] != '-') + { +! XpmColorSymbol color[5] = + { +! {"none", NULL, 0}, +! {"iconColor1", NULL, 0}, +! {"bottomShadowColor", NULL, 0}, +! {"topShadowColor", NULL, 0}, +! {"selectColor", NULL, 0} +! }; +! attrs.valuemask = XpmColorSymbols; +! attrs.numsymbols = 2; +! attrs.colorsymbols = color; +! attrs.colorsymbols[0].pixel = gui.back_pixel; +! attrs.colorsymbols[1].pixel = gui.norm_pixel; +! status = XpmReadFileToImage(gui.dpy, (char *)signfile, + &sign, NULL, &attrs); +! if (status == 0) +! { +! /* Sign width is fixed at two columns now. +! if (sign->width > gui.sign_width) +! gui.sign_width = sign->width + 8; */ + } ++ else ++ EMSG(_(e_signdata)); + } + + return (void *)sign; +*************** +*** 3489,3496 **** + gui_mch_destroy_sign(sign) + void *sign; + { +! XFree(((XImage *)sign)->data); +! vim_free(sign); + } + #endif + +--- 3483,3489 ---- + gui_mch_destroy_sign(sign) + void *sign; + { +! XDestroyImage((XImage*)sign); + } + #endif + +*** ../vim-7.2.124/src/version.c Mon Feb 23 00:53:35 2009 +--- src/version.c Tue Feb 24 04:09:33 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 125, + /**/ + +-- +I have a watch cat! Just break in and she'll watch. + + /// 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.2.126 b/7.2.126 new file mode 100644 index 0000000..fe2dd65 --- /dev/null +++ b/7.2.126 @@ -0,0 +1,174 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.126 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.126 +Problem: When EXITFREE is defined signs are not freed. +Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle) +Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro + + +*** ../vim-7.2.125/src/misc2.c Thu Jan 22 21:31:24 2009 +--- src/misc2.c Sun Feb 22 22:04:53 2009 +*************** +*** 1010,1015 **** +--- 1010,1018 ---- + # if defined(FEAT_PROFILE) + do_cmdline_cmd((char_u *)"profdel *"); + # endif ++ # if defined(FEAT_KEYMAP) ++ do_cmdline_cmd((char_u *)"set keymap="); ++ #endif + + # ifdef FEAT_TITLE + free_titles(); +*************** +*** 1034,1039 **** +--- 1037,1045 ---- + free_regexp_stuff(); + free_tag_stuff(); + free_cd_dir(); ++ # ifdef FEAT_SIGNS ++ free_signs(); ++ # endif + # ifdef FEAT_EVAL + set_expr_line(NULL); + # endif +*** ../vim-7.2.125/src/ex_cmds.c Wed Feb 11 16:02:29 2009 +--- src/ex_cmds.c Sun Feb 22 22:07:08 2009 +*************** +*** 6541,6546 **** +--- 6541,6547 ---- + static int last_sign_typenr = MAX_TYPENR; /* is decremented */ + + static void sign_list_defined __ARGS((sign_T *sp)); ++ static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev)); + + /* + * ":sign" command +*************** +*** 6749,6772 **** + /* ":sign list {name}" */ + sign_list_defined(sp); + else +- { + /* ":sign undefine {name}" */ +! vim_free(sp->sn_name); +! vim_free(sp->sn_icon); +! #ifdef FEAT_SIGN_ICONS +! if (sp->sn_image != NULL) +! { +! out_flush(); +! gui_mch_destroy_sign(sp->sn_image); +! } +! #endif +! vim_free(sp->sn_text); +! if (sp_prev == NULL) +! first_sign = sp->sn_next; +! else +! sp_prev->sn_next = sp->sn_next; +! vim_free(sp); +! } + } + } + else +--- 6750,6757 ---- + /* ":sign list {name}" */ + sign_list_defined(sp); + else + /* ":sign undefine {name}" */ +! sign_undefine(sp, sp_prev); + } + } + else +*************** +*** 7015,7020 **** +--- 7000,7030 ---- + } + + /* ++ * Undefine a sign and free its memory. ++ */ ++ static void ++ sign_undefine(sp, sp_prev) ++ sign_T *sp; ++ sign_T *sp_prev; ++ { ++ vim_free(sp->sn_name); ++ vim_free(sp->sn_icon); ++ #ifdef FEAT_SIGN_ICONS ++ if (sp->sn_image != NULL) ++ { ++ out_flush(); ++ gui_mch_destroy_sign(sp->sn_image); ++ } ++ #endif ++ vim_free(sp->sn_text); ++ if (sp_prev == NULL) ++ first_sign = sp->sn_next; ++ else ++ sp_prev->sn_next = sp->sn_next; ++ vim_free(sp); ++ } ++ ++ /* + * Get highlighting attribute for sign "typenr". + * If "line" is TRUE: line highl, if FALSE: text highl. + */ +*************** +*** 7088,7093 **** +--- 7098,7115 ---- + return (char_u *)_("[Deleted]"); + } + ++ #if defined(EXITFREE) || defined(PROTO) ++ /* ++ * Undefine/free all signs. ++ */ ++ void ++ free_signs() ++ { ++ while (first_sign != NULL) ++ sign_undefine(first_sign, NULL); ++ } ++ #endif ++ + #endif + + #if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO) +*** ../vim-7.2.125/src/proto/ex_cmds.pro Sat Nov 15 14:10:23 2008 +--- src/proto/ex_cmds.pro Sun Feb 22 22:04:53 2009 +*************** +*** 40,45 **** +--- 40,46 ---- + int read_viminfo_sub_string __ARGS((vir_T *virp, int force)); + void write_viminfo_sub_string __ARGS((FILE *fp)); + void free_old_sub __ARGS((void)); ++ void free_signs __ARGS((void)); + int prepare_tagpreview __ARGS((int undo_sync)); + void ex_help __ARGS((exarg_T *eap)); + char_u *check_help_lang __ARGS((char_u *arg)); +*** ../vim-7.2.125/src/version.c Tue Feb 24 04:11:07 2009 +--- src/version.c Tue Feb 24 04:24:46 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 126, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +125. You begin to wonder how often it REALLY is necessary to get up + and shower or bathe. + + /// 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.2.127 b/7.2.127 new file mode 100644 index 0000000..662fe0f --- /dev/null +++ b/7.2.127 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.127 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.127 +Problem: When listing mappings and a wrapping line causes the more prompt, + after typing 'q' there can be another more prompt. (Markus + Heidelberg) +Solution: Set "lines_left" to allow more lines to be displayed. +Files: src/message.c + + +*** ../vim-7.2.126/src/message.c Sun Feb 22 00:58:03 2009 +--- src/message.c Mon Feb 23 04:17:39 2009 +*************** +*** 2553,2559 **** + { + /* Jump to the choices of the dialog. */ + retval = TRUE; +- lines_left = Rows - 1; + } + else + #endif +--- 2553,2558 ---- +*************** +*** 2561,2566 **** +--- 2560,2568 ---- + got_int = TRUE; + quit_more = TRUE; + } ++ /* When there is some more output (wrapping line) display that ++ * without another prompt. */ ++ lines_left = Rows - 1; + break; + + #ifdef FEAT_CLIPBOARD +*** ../vim-7.2.126/src/version.c Tue Feb 24 04:28:40 2009 +--- src/version.c Tue Feb 24 04:35:38 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 127, + /**/ + +-- +The difference between theory and practice, is that in theory, there +is no difference between theory and practice. + + /// 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.2.128 b/7.2.128 new file mode 100644 index 0000000..0c17f18 --- /dev/null +++ b/7.2.128 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.128 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.128 (after 7.2.055) +Problem: Using ":lcd" makes session files not work. +Solution: Compare return value of mch_chdir() properly. (Andreas Bernauer) +Files: src/ex_docmd.c + + +*** ../vim-7.2.127/src/ex_docmd.c Sat Feb 21 20:36:30 2009 +--- src/ex_docmd.c Sun Mar 1 02:39:38 2009 +*************** +*** 8792,8798 **** + else if (*dirnow != NUL + && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) + { +! if (mch_chdir((char *)globaldir) == OK) + shorten_fnames(TRUE); + } + +--- 8799,8805 ---- + else if (*dirnow != NUL + && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) + { +! if (mch_chdir((char *)globaldir) == 0) + shorten_fnames(TRUE); + } + +*** ../vim-7.2.127/src/version.c Tue Feb 24 04:36:50 2009 +--- src/version.c Sun Mar 1 02:42:47 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 128, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +138. You develop a liking for cold coffee. + + /// 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 ///