diff options
author | Aron Griffis <agriffis@gentoo.org> | 2002-01-06 22:32:03 +0000 |
---|---|---|
committer | Aron Griffis <agriffis@gentoo.org> | 2002-01-06 22:32:03 +0000 |
commit | afdbc698ba3bcdc2588324950964e0d01e7d66b5 (patch) | |
tree | 2875958b6446be0c6bac0d5ba8a7993c64667682 /app-editors | |
parent | fix the default.tar.bz2 digest problem by having it on ibiblio with a differe... (diff) | |
download | historical-afdbc698ba3bcdc2588324950964e0d01e7d66b5.tar.gz historical-afdbc698ba3bcdc2588324950964e0d01e7d66b5.tar.bz2 historical-afdbc698ba3bcdc2588324950964e0d01e7d66b5.zip |
Updated vim ebuild with lots more patches from
ftp.vim.org/pub/vim/patches. This includes the official patch from
Bram for syntax highlighting ebuilds.
Diffstat (limited to 'app-editors')
90 files changed, 8682 insertions, 0 deletions
diff --git a/app-editors/vim/files/6.0.019 b/app-editors/vim/files/6.0.019 new file mode 100644 index 000000000000..49b70b963b35 --- /dev/null +++ b/app-editors/vim/files/6.0.019 @@ -0,0 +1,110 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.019 +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 6.0.019 +Problem: Converting a string with multi-byte characters to a printable + string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) +Solution: Correctly compute the length of the result in transstr(). +Files: src/charset.c + + +*** ../vim60.18/src/charset.c Wed Sep 19 17:28:08 2001 +--- src/charset.c Mon Oct 22 12:43:03 2001 +*************** +*** 327,351 **** + char_u *s; + { + char_u *res; + #ifdef FEAT_MBYTE +! int l; + #endif + +! res = alloc((unsigned)(vim_strsize(s) + 1)); + if (res != NULL) + { + *res = NUL; +! while (*s != NUL) + { + #ifdef FEAT_MBYTE +! if (has_mbyte && (l = (*mb_ptr2len_check)(s)) > 1) + { +! STRNCAT(res, s, l); +! s += l; + } + else + #endif +! STRCAT(res, transchar(*s++)); + } + } + return res; +--- 327,374 ---- + char_u *s; + { + char_u *res; ++ char_u *p; + #ifdef FEAT_MBYTE +! int l, len; + #endif + +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! { +! /* Compute the length of the result, taking into account that +! * multi-byte characters are copied unchanged. */ +! len = 0; +! p = s; +! while (*p != NUL) +! { +! if ((l = (*mb_ptr2len_check)(p)) > 1) +! { +! len += l; +! p += l; +! } +! else +! len += byte2cells(*p++); +! } +! res = alloc((unsigned)(len + 1)); +! } +! else +! #endif +! res = alloc((unsigned)(vim_strsize(s) + 1)); + if (res != NULL) + { + *res = NUL; +! p = s; +! while (*p != NUL) + { + #ifdef FEAT_MBYTE +! if (has_mbyte && (l = (*mb_ptr2len_check)(p)) > 1) + { +! STRNCAT(res, p, l); +! p += l; + } + else + #endif +! STRCAT(res, transchar(*p++)); + } + } + return res; +*** ../vim60.18/src/version.c Mon Oct 22 12:47:09 2001 +--- src/version.c Mon Oct 22 12:46:56 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 19, + /**/ + +-- +"Hit any key to continue" is very confusing when you have two keyboards. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.020 b/app-editors/vim/files/6.0.020 new file mode 100644 index 000000000000..68958b0fe245 --- /dev/null +++ b/app-editors/vim/files/6.0.020 @@ -0,0 +1,98 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.020 +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 6.0.020 +Problem: When obtaining the value of a global variable internally, could + get the function-local value instead. Applies to using <Leader> + and <LocalLeader> and resetting highlighting in a function. +Solution: Prepend "g:" to the variable name. (Aric Blumer) +Files: src/syntax.c, src/term.c + + +*** ../vim60.19/src/syntax.c Wed Sep 26 16:12:52 2001 +--- src/syntax.c Mon Oct 22 18:36:33 2001 +*************** +*** 5871,5877 **** + * Try finding the color scheme file. Used when a color file was loaded + * and 'background' or 't_Co' is changed. + */ +! p = get_var_value((char_u *)"colors_name"); + if (p != NULL && load_colors(p) == OK) + return; + #endif +--- 5871,5877 ---- + * Try finding the color scheme file. Used when a color file was loaded + * and 'background' or 't_Co' is changed. + */ +! p = get_var_value((char_u *)"g:colors_name"); + if (p != NULL && load_colors(p) == OK) + return; + #endif +*************** +*** 5903,5909 **** + /* + * If syntax highlighting is enabled load the highlighting for it. + */ +! if (get_var_value((char_u *)"syntax_on") != NULL) + (void)cmd_runtime((char_u *)"syntax/syncolor.vim", TRUE); + #endif + } +--- 5903,5909 ---- + /* + * If syntax highlighting is enabled load the highlighting for it. + */ +! if (get_var_value((char_u *)"g:syntax_on") != NULL) + (void)cmd_runtime((char_u *)"syntax/syncolor.vim", TRUE); + #endif + } +*** ../vim60.19/src/term.c Sun Oct 21 12:38:02 2001 +--- src/term.c Mon Oct 22 18:37:53 2001 +*************** +*** 4714,4725 **** + if (STRNICMP(src, "<Leader>", 8) == 0) + { + len = 8; +! p = get_var_value((char_u *)"mapleader"); + } + else if (STRNICMP(src, "<LocalLeader>", 13) == 0) + { + len = 13; +! p = get_var_value((char_u *)"maplocalleader"); + } + else + { +--- 4714,4725 ---- + if (STRNICMP(src, "<Leader>", 8) == 0) + { + len = 8; +! p = get_var_value((char_u *)"g:mapleader"); + } + else if (STRNICMP(src, "<LocalLeader>", 13) == 0) + { + len = 13; +! p = get_var_value((char_u *)"g:maplocalleader"); + } + else + { +*** ../vim60.19/src/version.c Mon Oct 22 12:52:35 2001 +--- src/version.c Mon Oct 22 18:38:09 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 20, + /**/ + +-- +Rule #1: Don't give somebody a tool that he's going to hurt himself with. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.021 b/app-editors/vim/files/6.0.021 new file mode 100644 index 000000000000..91ecb06efe05 --- /dev/null +++ b/app-editors/vim/files/6.0.021 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.021 +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 6.0.021 +Problem: The 'cscopepathcomp' option didn't work. +Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng) +Files: src/option.c + + +*** ../vim60.20/src/option.c Sat Sep 29 10:20:07 2001 +--- src/option.c Mon Oct 22 21:15:50 2001 +*************** +*** 589,595 **** + (char_u *)&p_cpo, PV_NONE, + {(char_u *)CPO_ALL, (char_u *)CPO_DEFAULT}}, + {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, +! #ifdef USE_CSCOPE + (char_u *)&p_cspc, PV_NONE, + #else + (char_u *)NULL, PV_NONE, +--- 589,595 ---- + (char_u *)&p_cpo, PV_NONE, + {(char_u *)CPO_ALL, (char_u *)CPO_DEFAULT}}, + {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, +! #ifdef FEAT_CSCOPE + (char_u *)&p_cspc, PV_NONE, + #else + (char_u *)NULL, PV_NONE, +*** ../vim60.20/src/version.c Mon Oct 22 18:52:01 2001 +--- src/version.c Mon Oct 22 21:17:35 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 21, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +189. You put your e-mail address in the upper left-hand corner of envelopes. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.022 b/app-editors/vim/files/6.0.022 new file mode 100644 index 000000000000..c3540c050453 --- /dev/null +++ b/app-editors/vim/files/6.0.022 @@ -0,0 +1,47 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.022 +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 6.0.022 +Problem: When using the 'langmap' option, the second character of a command + starting with "g" isn't adjusted. +Solution: Apply 'langmap' to the second character. (Alex Kapranoff) +Files: src/normal.c + + +*** ../vim60.21/src/normal.c Fri Oct 19 15:24:44 2001 +--- src/normal.c Tue Oct 23 16:50:50 2001 +*************** +*** 842,847 **** +--- 842,850 ---- + * "gr", "g'" and "g`". + */ + ca.nchar = safe_vgetc(); ++ #ifdef FEAT_LANGMAP ++ LANGMAP_ADJUST(ca.nchar, TRUE); ++ #endif + #ifdef FEAT_CMDL_INFO + need_flushbuf |= add_to_showcmd(ca.nchar); + #endif +*** ../vim60.21/src/version.c Mon Oct 22 21:19:00 2001 +--- src/version.c Tue Oct 23 16:53:44 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 22, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +221. Your wife melts your keyboard in the oven. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.023 b/app-editors/vim/files/6.0.023 new file mode 100644 index 000000000000..0482c136bbb5 --- /dev/null +++ b/app-editors/vim/files/6.0.023 @@ -0,0 +1,68 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.023 +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 6.0.023 +Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen) +Solution: Use ":runtime" instead of "source" to load haskell.vim. +Files: runtime/syntax/lhaskell.vim + + +*** ../vim60.22/runtime/syntax/lhaskell.vim Wed May 9 20:19:38 2001 +--- runtime/syntax/lhaskell.vim Tue Oct 23 20:54:06 2001 +*************** +*** 1,7 **** + " Vim syntax file + " Language: Haskell with literate comments + " Maintainer: John Williams <jrw@pobox.com> +! " Last Change: 2001 May 09 + + " Enable literate comments + let b:hs_literate_comments=1 +--- 1,7 ---- + " Vim syntax file + " Language: Haskell with literate comments + " Maintainer: John Williams <jrw@pobox.com> +! " Last Change: 2001 Oct 23 + + " Enable literate comments + let b:hs_literate_comments=1 +*************** +*** 10,16 **** + if version < 600 + source <sfile>:p:h/haskell.vim + else +! source syntax/haskell.vim + endif + + " vim: ts=8 +--- 10,16 ---- + if version < 600 + source <sfile>:p:h/haskell.vim + else +! runtime! syntax/haskell.vim + endif + + " vim: ts=8 +*** ../vim60.22/src/version.c Tue Oct 23 16:54:23 2001 +--- src/version.c Tue Oct 23 20:56:16 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 23, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +232. You start conversations with, "Have you gotten an ISDN line?" + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.024 b/app-editors/vim/files/6.0.024 new file mode 100644 index 000000000000..4a650a0fbe2a --- /dev/null +++ b/app-editors/vim/files/6.0.024 @@ -0,0 +1,49 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.024 +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 6.0.024 +Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah + Levitt) +Solution: Don't insert a NUL byte in the text, use a newline. +Files: src/misc1.c + + +*** ../vim60.23/src/misc1.c Wed Sep 26 16:19:00 2001 +--- src/misc1.c Wed Oct 24 13:15:20 2001 +*************** +*** 1536,1541 **** +--- 1536,1547 ---- + int n; + + n = (*mb_char2bytes)(c, buf); ++ ++ /* When "c" is 0x100, 0x200, etc. we don't want to insert a NUL byte. ++ * Happens for CTRL-Vu9900. */ ++ if (buf[0] == 0) ++ buf[0] = '\n'; ++ + ins_char_bytes(buf, n); + } + +*** ../vim60.23/src/version.c Tue Oct 23 20:57:50 2001 +--- src/version.c Wed Oct 24 13:19:45 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 24, + /**/ + +-- +Women are probably the main cause of free software starvation. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.025 b/app-editors/vim/files/6.0.025 new file mode 100644 index 000000000000..42733d621d28 --- /dev/null +++ b/app-editors/vim/files/6.0.025 @@ -0,0 +1,66 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.025 +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 6.0.025 +Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line. + (Preben Peppe Guldberg) +Solution: Always see a "$" as end-of-line after "\v". Do the same for "^". +Files: src/regexp.c + + +*** ../vim60.24/src/regexp.c Fri Sep 7 13:19:00 2001 +--- src/regexp.c Wed Oct 24 19:33:23 2001 +*************** +*** 2262,2267 **** +--- 2262,2268 ---- + * "\(", "\|", "\&' or "\n" */ + if (reg_magic >= MAGIC_OFF + && (at_start ++ || reg_magic == MAGIC_ALL + || prevchr == Magic('(') + || prevchr == Magic('|') + || prevchr == Magic('&') +*************** +*** 2288,2294 **** + if (p[0] == NUL + || (p[0] == '\\' + && (p[1] == '|' || p[1] == '&' || p[1] == ')' +! || p[1] == 'n'))) + curchr = Magic('$'); + } + break; +--- 2289,2296 ---- + if (p[0] == NUL + || (p[0] == '\\' + && (p[1] == '|' || p[1] == '&' || p[1] == ')' +! || p[1] == 'n')) +! || reg_magic == MAGIC_ALL) + curchr = Magic('$'); + } + break; +*** ../vim60.24/src/version.c Wed Oct 24 13:22:11 2001 +--- src/version.c Wed Oct 24 19:40:42 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 25, + /**/ + +-- + He was not in the least bit scared to be mashed into a pulp + Or to have his eyes gouged out and his elbows broken; + To have his kneecaps split and his body burned away + And his limbs all hacked and mangled, brave Sir Robin. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.026 b/app-editors/vim/files/6.0.026 new file mode 100644 index 000000000000..03bea75f237b --- /dev/null +++ b/app-editors/vim/files/6.0.026 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.026 +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 6.0.026 +Problem: GTK: When using arrow keys to navigate through the menus, the + separators are selected. +Solution: Set the separators "insensitive". (Pavel Kankovsky) +Files: src/gui_gtk.c, src/gui_gtk_x11.c + + +*** ../vim60.25/src/gui_gtk.c Sat Sep 15 18:30:39 2001 +--- src/gui_gtk.c Thu Oct 25 10:15:55 2001 +*************** +*** 453,458 **** +--- 453,459 ---- + { + /* Separator: Just add it */ + menu->id = gtk_menu_item_new(); ++ gtk_widget_set_sensitive(menu->id, FALSE); + gtk_widget_show(menu->id); + gtk_menu_insert(GTK_MENU(parent->submenu_id), menu->id, idx); + +*** ../vim60.25/src/gui_gtk_x11.c Wed Sep 19 16:28:57 2001 +--- src/gui_gtk_x11.c Thu Oct 25 10:16:39 2001 +*************** +*** 3571,3576 **** +--- 3571,3579 ---- + if (menu->id == 0) + return; + ++ if (menu_is_separator(menu->name)) ++ grey = 1; ++ + gui_mch_menu_hidden(menu, FALSE); + /* Be clever about bitfields versus true booleans here! */ + if (!GTK_WIDGET_SENSITIVE(menu->id) == !grey) +*** ../vim60.25/src/version.c Wed Oct 24 19:41:55 2001 +--- src/version.c Thu Oct 25 10:19:40 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 26, + /**/ + +-- +Eight Megabytes And Continually Swapping. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.028 b/app-editors/vim/files/6.0.028 new file mode 100644 index 000000000000..21253041488b --- /dev/null +++ b/app-editors/vim/files/6.0.028 @@ -0,0 +1,62 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.028 +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 6.0.028 +Problem: Can't compile without +virtualedit and with +visualextra. (Geza + Lakner) +Solution: Add an #ifdef for +virtualedit. +Files: src/ops.c + + +*** ../vim60.27/src/ops.c Wed Sep 19 12:39:06 2001 +--- src/ops.c Sun Oct 28 16:38:35 2001 +*************** +*** 2134,2140 **** + + if (oap->op_type == OP_APPEND) + { +! if (oap->block_mode && curwin->w_cursor.coladd == 0) + { + /* this lil bit if code adapted from nv_append() */ + curwin->w_set_curswant = TRUE; +--- 2135,2145 ---- + + if (oap->op_type == OP_APPEND) + { +! if (oap->block_mode +! #ifdef FEAT_VIRTUALEDIT +! && curwin->w_cursor.coladd == 0 +! #endif +! ) + { + /* this lil bit if code adapted from nv_append() */ + curwin->w_set_curswant = TRUE; +*** ../vim60.27/src/version.c Thu Oct 25 16:34:24 2001 +--- src/version.c Sun Oct 28 16:40:22 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 28, + /**/ + +-- +ARTHUR: You fight with the strength of many men, Sir knight. + I am Arthur, King of the Britons. [pause] + I seek the finest and the bravest knights in the land to join me + in my Court of Camelot. [pause] + You have proved yourself worthy; will you join me? [pause] + You make me sad. So be it. Come, Patsy. +BLACK KNIGHT: None shall pass. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.029 b/app-editors/vim/files/6.0.029 new file mode 100644 index 000000000000..62b5bf61b005 --- /dev/null +++ b/app-editors/vim/files/6.0.029 @@ -0,0 +1,230 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.029 +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 6.0.029 +Problem: When making a change in line 1, then in line 2 and then deleting + line 1, undo info could be wrong. Only when the changes are undone + at once. (Gerhard Hochholzer) +Solution: When not saving a line for undo because it was already done + before, remember for which entry the last line must be computed. + Added ue_getbot_entry pointer for this. When the number of lines + changes, adjust the position of newer undo entries. +Files: src/structs.h, src/undo.c + + +*** ../vim60.28/src/structs.h Sun Sep 16 14:45:18 2001 +--- src/structs.h Sun Oct 28 20:08:24 2001 +*************** +*** 232,237 **** +--- 232,238 ---- + u_header_T *uh_next; /* pointer to next header in list */ + u_header_T *uh_prev; /* pointer to previous header in list */ + u_entry_T *uh_entry; /* pointer to first entry */ ++ u_entry_T *uh_getbot_entry; /* pointer to where ue_bot must be set */ + pos_T uh_cursor; /* cursor position before saving */ + #ifdef FEAT_VIRTUALEDIT + long uh_cursor_vcol; +*** ../vim60.28/src/undo.c Fri Aug 24 09:57:23 2001 +--- src/undo.c Sun Oct 28 21:03:26 2001 +*************** +*** 224,229 **** +--- 224,230 ---- + if (curbuf->b_u_newhead != NULL) + curbuf->b_u_newhead->uh_prev = uhp; + uhp->uh_entry = NULL; ++ uhp->uh_getbot_entry = NULL; + uhp->uh_cursor = curwin->w_cursor; /* save cursor pos. for undo */ + #ifdef FEAT_VIRTUALEDIT + if (virtual_active() && curwin->w_cursor.coladd > 0) +*************** +*** 263,269 **** + break; + + /* If lines have been inserted/deleted we give up. */ +! if (uep->ue_lcount == 0 + ? (uep->ue_top + uep->ue_size + 1 + != (uep->ue_bot == 0 + ? curbuf->b_ml.ml_line_count + 1 +--- 264,270 ---- + break; + + /* If lines have been inserted/deleted we give up. */ +! if (curbuf->b_u_newhead->uh_getbot_entry != uep + ? (uep->ue_top + uep->ue_size + 1 + != (uep->ue_bot == 0 + ? curbuf->b_ml.ml_line_count + 1 +*************** +*** 274,287 **** + /* If it's the same line we can skip saving it again. */ + if (uep->ue_size == 1 && uep->ue_top == top) + { +! /* The line count might change. */ +! uep->ue_lcount = 0; + if (newbot != 0) + uep->ue_bot = newbot; + else if (bot > curbuf->b_ml.ml_line_count) + uep->ue_bot = 0; + else + uep->ue_lcount = curbuf->b_ml.ml_line_count; + return OK; + } + uep = uep->ue_next; +--- 275,313 ---- + /* If it's the same line we can skip saving it again. */ + if (uep->ue_size == 1 && uep->ue_top == top) + { +! /* If it's not the last entry, get ue_bot for the last +! * entry now. Following deleted/inserted lines go to the +! * re-used entry. */ +! if (i > 0) +! u_getbot(); +! +! /* The line count might change afterwards. */ + if (newbot != 0) ++ { ++ /* When changing the line count and it's not the ++ * newest entry, must adjust the line numbers of older ++ * entries. */ ++ if (uep != curbuf->b_u_newhead->uh_entry ++ && uep->ue_bot != newbot) ++ { ++ u_entry_T *p; ++ ++ for (p = curbuf->b_u_newhead->uh_entry; ++ p != uep; p = p->ue_next) ++ { ++ p->ue_bot -= uep->ue_bot - newbot; ++ p->ue_top -= uep->ue_bot - newbot; ++ } ++ } + uep->ue_bot = newbot; ++ } + else if (bot > curbuf->b_ml.ml_line_count) + uep->ue_bot = 0; + else ++ { + uep->ue_lcount = curbuf->b_ml.ml_line_count; ++ curbuf->b_u_newhead->uh_getbot_entry = uep; ++ } + return OK; + } + uep = uep->ue_next; +*************** +*** 310,316 **** + + uep->ue_size = size; + uep->ue_top = top; +- uep->ue_lcount = 0; + if (newbot) + uep->ue_bot = newbot; + /* +--- 336,341 ---- +*************** +*** 320,326 **** +--- 345,354 ---- + else if (bot > curbuf->b_ml.ml_line_count) + uep->ue_bot = 0; + else ++ { + uep->ue_lcount = curbuf->b_ml.ml_line_count; ++ curbuf->b_u_newhead->uh_getbot_entry = uep; ++ } + + if (size) + { +*************** +*** 732,751 **** + u_getbot() + { + u_entry_T *uep; + +! uep = u_get_headentry(); + if (uep == NULL) + return; + +! if (uep->ue_lcount != 0) + { + /* + * the new ue_bot is computed from the number of lines that has been + * inserted (0 - deleted) since calling u_save. This is equal to the old + * line count subtracted from the current line count. + */ +! uep->ue_bot = uep->ue_top + uep->ue_size + 1 + +! (curbuf->b_ml.ml_line_count - uep->ue_lcount); + if (uep->ue_bot < 1 || uep->ue_bot > curbuf->b_ml.ml_line_count) + { + EMSG(_("E440: undo line missing")); +--- 760,781 ---- + u_getbot() + { + u_entry_T *uep; ++ linenr_T extra; + +! uep = u_get_headentry(); /* check for corrupt undo list */ + if (uep == NULL) + return; + +! uep = curbuf->b_u_newhead->uh_getbot_entry; +! if (uep != NULL) + { + /* + * the new ue_bot is computed from the number of lines that has been + * inserted (0 - deleted) since calling u_save. This is equal to the old + * line count subtracted from the current line count. + */ +! extra = curbuf->b_ml.ml_line_count - uep->ue_lcount; +! uep->ue_bot = uep->ue_top + uep->ue_size + 1 + extra; + if (uep->ue_bot < 1 || uep->ue_bot > curbuf->b_ml.ml_line_count) + { + EMSG(_("E440: undo line missing")); +*************** +*** 754,760 **** + * without deleting the current + * ones */ + } +! uep->ue_lcount = 0; + } + + curbuf->b_u_synced = TRUE; +--- 784,802 ---- + * without deleting the current + * ones */ + } +! +! /* If not the newest entry and lines have been inserted or deleted, +! * newer entries must have their line numbers adjusted. */ +! if (extra != 0) +! for (uep = curbuf->b_u_newhead->uh_entry; +! uep != curbuf->b_u_newhead->uh_getbot_entry; +! uep = uep->ue_next) +! { +! uep->ue_bot -= extra; +! uep->ue_top -= extra; +! } +! +! curbuf->b_u_newhead->uh_getbot_entry = NULL; + } + + curbuf->b_u_synced = TRUE; +*** ../vim60.28/src/version.c Sun Oct 28 16:41:29 2001 +--- src/version.c Sun Oct 28 21:11:52 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 29, + /**/ + +-- + f y cn rd ths thn y cn hv grt jb n cmptr prgrmmng + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.030 b/app-editors/vim/files/6.0.030 new file mode 100644 index 000000000000..1655e1c3108a --- /dev/null +++ b/app-editors/vim/files/6.0.030 @@ -0,0 +1,382 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.030 +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 6.0.030 +Problem: Using ":source! file" doesn't work inside a loop or after + ":argdo". (Pavol Juhas) +Solution: Execute the commands in the file right away, do not let the main + loop do it. +Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h, + src/proto/ex_docmd.pro, src/proto/getchar.pro + + +*** ../vim60.29/src/ex_cmds2.c Tue Sep 25 14:18:04 2001 +--- src/ex_cmds2.c Thu Oct 25 10:08:24 2001 +*************** +*** 14,20 **** + #include "vim.h" + #include "version.h" + +! static void cmd_source __ARGS((char_u *fname, int forceit)); + + #if defined(FEAT_EVAL) || defined(PROTO) + +--- 14,20 ---- + #include "vim.h" + #include "version.h" + +! static void cmd_source __ARGS((char_u *fname, exarg_T *eap)); + + #if defined(FEAT_EVAL) || defined(PROTO) + +*************** +*** 1454,1461 **** +--- 1454,1463 ---- + #endif + + /* execute the command */ ++ listcmd_busy = TRUE; + do_cmdline(eap->arg, eap->getline, eap->cookie, + DOCMD_VERBOSE + DOCMD_NOWAIT); ++ listcmd_busy = FALSE; + + if (eap->cmdidx == CMD_bufdo) + { +*************** +*** 1693,1699 **** + ex_options(eap) + exarg_T *eap; + { +! cmd_source((char_u *)SYS_OPTWIN_FILE, FALSE); + } + #endif + +--- 1695,1701 ---- + ex_options(eap) + exarg_T *eap; + { +! cmd_source((char_u *)SYS_OPTWIN_FILE, NULL); + } + #endif + +*************** +*** 1713,1737 **** + NULL, NULL, eap->arg, BROWSE_FILTER_MACROS, curbuf); + if (fname != NULL) + { +! cmd_source(fname, eap->forceit); + vim_free(fname); + } + } + else + #endif +! cmd_source(eap->arg, eap->forceit); + } + + static void +! cmd_source(fname, forceit) + char_u *fname; +! int forceit; + { + if (*fname == NUL) + EMSG(_(e_argreq)); +! else if (forceit) /* :so! read vi commands */ +! (void)openscript(fname); +! /* :so read ex commands */ + else if (do_source(fname, FALSE, FALSE) == FAIL) + EMSG2(_(e_notopen), fname); + } +--- 1715,1752 ---- + NULL, NULL, eap->arg, BROWSE_FILTER_MACROS, curbuf); + if (fname != NULL) + { +! cmd_source(fname, eap); + vim_free(fname); + } + } + else + #endif +! cmd_source(eap->arg, eap); + } + + static void +! cmd_source(fname, eap) + char_u *fname; +! exarg_T *eap; + { + if (*fname == NUL) + EMSG(_(e_argreq)); +! +! /* ":source!" read vi commands */ +! else if (eap != NULL && eap->forceit) +! /* Need to execute the commands directly when: +! * - ":g" command busy +! * - after ":argdo", ":windo" or ":bufdo" +! * - another command follows +! * - inside a loop +! */ +! openscript(fname, global_busy || listcmd_busy || eap->nextcmd != NULL +! #ifdef FEAT_EVAL +! || eap->cstack->cs_idx >= 0 +! #endif +! ); +! +! /* ":source" read ex commands */ + else if (do_source(fname, FALSE, FALSE) == FAIL) + EMSG2(_(e_notopen), fname); + } +*** ../vim60.29/src/ex_docmd.c Fri Oct 19 11:18:45 2001 +--- src/ex_docmd.c Sat Oct 20 16:53:27 2001 +*************** +*** 276,282 **** + #endif + #ifdef FEAT_EX_EXTRA + static void ex_normal __ARGS((exarg_T *eap)); +- static void update_topline_cursor __ARGS((void)); + static void ex_startinsert __ARGS((exarg_T *eap)); + #else + # define ex_normal ex_ni +--- 276,281 ---- +*************** +*** 6777,6782 **** +--- 6776,6794 ---- + } + } + ++ /* ++ * Update w_topline, w_leftcol and the cursor position. ++ */ ++ void ++ update_topline_cursor() ++ { ++ check_cursor(); /* put cursor on valid line */ ++ update_topline(); ++ if (!curwin->w_p_wrap) ++ validate_cursor(); ++ update_curswant(); ++ } ++ + #ifdef FEAT_EX_EXTRA + /* + * ":normal[!] {commands}": Execute normal mode commands. +*************** +*** 6937,6955 **** + #ifdef FEAT_MBYTE + vim_free(arg); + #endif +- } +- +- /* +- * Update w_topline, w_leftcol and the cursor position. +- */ +- static void +- update_topline_cursor() +- { +- check_cursor(); /* put cursor on valid line */ +- update_topline(); +- if (!curwin->w_p_wrap) +- validate_cursor(); +- update_curswant(); + } + + /* +--- 6949,6954 ---- +*** ../vim60.29/src/getchar.c Sun Sep 16 14:38:55 2001 +--- src/getchar.c Sat Oct 20 18:07:04 2001 +*************** +*** 1224,1244 **** + } + + /* +! * open new script file for ":so!" command +! * return OK on success, FAIL on error + */ +! int +! openscript(name) +! char_u *name; + { +- int oldcurscript; +- oparg_T oa; +- int save_State; +- + if (curscript + 1 == NSCRIPT) + { + EMSG(_(e_nesting)); +! return FAIL; + } + + if (scriptin[curscript] != NULL) /* already reading script */ +--- 1224,1240 ---- + } + + /* +! * Open a new script file for the ":source!" command. + */ +! void +! openscript(name, directly) +! char_u *name; +! int directly; /* when TRUE execute directly */ + { + if (curscript + 1 == NSCRIPT) + { + EMSG(_(e_nesting)); +! return; + } + + if (scriptin[curscript] != NULL) /* already reading script */ +*************** +*** 1250,1281 **** + EMSG2(_(e_notopen), name); + if (curscript) + --curscript; +! return FAIL; + } + if (save_typebuf() == FAIL) +! return FAIL; + + /* +! * With command ":g/pat/so! file" we have to execute the +! * commands from the file now. + */ +! if (global_busy) + { +! clear_oparg(&oa); +! save_State = State; + State = NORMAL; + oldcurscript = curscript; + do + { +! check_cursor(); /* put cursor on an existing line */ +! normal_cmd(&oa, FALSE); +! vpeekc(); /* check for end of file */ + } + while (scriptin[oldcurscript] != NULL); + State = save_State; + } +- +- return OK; + } + + /* +--- 1246,1294 ---- + EMSG2(_(e_notopen), name); + if (curscript) + --curscript; +! return; + } + if (save_typebuf() == FAIL) +! return; + + /* +! * Execute the commands from the file right now when using ":source!" +! * after ":global" or ":argdo" or in a loop. Also when another command +! * follows. This means the display won't be updated. Don't do this +! * always, "make test" would fail. + */ +! if (directly) + { +! oparg_T oa; +! int oldcurscript; +! int save_State = State; +! int save_restart_edit = restart_edit; +! int save_insertmode = p_im; +! int save_finish_op = finish_op; +! int save_msg_scroll = msg_scroll; +! + State = NORMAL; ++ msg_scroll = FALSE; /* no msg scrolling in Normal mode */ ++ restart_edit = 0; /* don't go to Insert mode */ ++ p_im = FALSE; /* don't use 'insertmode' */ ++ clear_oparg(&oa); ++ finish_op = FALSE; ++ + oldcurscript = curscript; + do + { +! update_topline_cursor(); /* update cursor position and topline */ +! normal_cmd(&oa, FALSE); /* execute one command */ +! vpeekc(); /* check for end of file */ + } + while (scriptin[oldcurscript] != NULL); ++ + State = save_State; ++ msg_scroll = save_msg_scroll; ++ restart_edit = save_restart_edit; ++ p_im = save_insertmode; ++ finish_op = save_finish_op; + } + } + + /* +*** ../vim60.29/src/globals.h Fri Sep 28 22:19:57 2001 +--- src/globals.h Sat Oct 20 17:49:38 2001 +*************** +*** 752,757 **** +--- 752,759 ---- + /* set after swap write error msg */ + EXTERN int undo_off INIT(= FALSE); /* undo switched off for now */ + EXTERN int global_busy INIT(= 0); /* set when :global is executing */ ++ EXTERN int listcmd_busy INIT(= FALSE); /* set when :argdo, :windo or ++ :bufdo is executing */ + EXTERN int need_start_insertmode INIT(= FALSE); + /* start insert mode soon */ + EXTERN char_u *last_cmdline INIT(= NULL); /* last command line (for ":) */ +*** ../vim60.29/src/proto/ex_docmd.pro Tue Sep 25 21:49:13 2001 +--- src/proto/ex_docmd.pro Sat Oct 20 16:55:04 2001 +*************** +*** 29,34 **** +--- 29,35 ---- + void do_exedit __ARGS((exarg_T *eap, win_T *old_curwin)); + void do_sleep __ARGS((long msec)); + FILE *open_exfile __ARGS((char_u *fname, int forceit, char *mode)); ++ void update_topline_cursor __ARGS((void)); + char_u *eval_vars __ARGS((char_u *src, int *usedlen, linenr_T *lnump, char_u **errormsg, char_u *srcstart)); + char_u *expand_sfile __ARGS((char_u *arg)); + int put_eol __ARGS((FILE *fd)); +*** ../vim60.29/src/proto/getchar.pro Tue Sep 25 21:49:15 2001 +--- src/proto/getchar.pro Sat Oct 20 17:23:58 2001 +*************** +*** 26,32 **** + int alloc_typebuf __ARGS((void)); + void free_typebuf __ARGS((void)); + int save_typebuf __ARGS((void)); +! int openscript __ARGS((char_u *name)); + int using_script __ARGS((void)); + void updatescript __ARGS((int c)); + int vgetc __ARGS((void)); +--- 26,32 ---- + int alloc_typebuf __ARGS((void)); + void free_typebuf __ARGS((void)); + int save_typebuf __ARGS((void)); +! void openscript __ARGS((char_u *name, int directly)); + int using_script __ARGS((void)); + void updatescript __ARGS((int c)); + int vgetc __ARGS((void)); +*** ../vim60.29/src/version.c Sun Oct 28 21:15:32 2001 +--- src/version.c Sun Oct 28 21:17:56 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 30, + /**/ + +-- +BLACK KNIGHT: I move for no man. +ARTHUR: So be it! + [hah] [parry thrust] + [ARTHUR chops the BLACK KNIGHT's left arm off] +ARTHUR: Now stand aside, worthy adversary. +BLACK KNIGHT: 'Tis but a scratch. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.031 b/app-editors/vim/files/6.0.031 new file mode 100644 index 000000000000..54da8977289b --- /dev/null +++ b/app-editors/vim/files/6.0.031 @@ -0,0 +1,413 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.031 +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 6.0.031 +Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu) +Solution: Move putenv() from pty.c to misc2.c +Files: src/misc2.c, src/pty.c + + +*** ../vim60.30/src/misc2.c Sun Sep 30 10:53:07 2001 +--- src/misc2.c Sun Oct 28 21:49:00 2001 +*************** +*** 5186,5188 **** +--- 5187,5364 ---- + + + #endif /*FEAT_PRINTER*/ ++ ++ /* ++ * The putenv() implementation below comes from the "screen" program. ++ * Included with permission from Juergen Weigert. ++ * See pty.c for the copyright notice. ++ */ ++ ++ /* ++ * putenv -- put value into environment ++ * ++ * Usage: i = putenv (string) ++ * int i; ++ * char *string; ++ * ++ * where string is of the form <name>=<value>. ++ * Putenv returns 0 normally, -1 on error (not enough core for malloc). ++ * ++ * Putenv may need to add a new name into the environment, or to ++ * associate a value longer than the current value with a particular ++ * name. So, to make life simpler, putenv() copies your entire ++ * environment into the heap (i.e. malloc()) from the stack ++ * (i.e. where it resides when your process is initiated) the first ++ * time you call it. ++ * ++ * (history removed, not very interesting. See the "screen" sources.) ++ */ ++ ++ #if !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) ++ ++ #define EXTRASIZE 5 /* increment to add to env. size */ ++ ++ static int envsize = -1; /* current size of environment */ ++ #ifndef MACOS ++ extern ++ #endif ++ char **environ; /* the global which is your env. */ ++ ++ static int findenv __ARGS((char *name)); /* look for a name in the env. */ ++ static int newenv __ARGS((void)); /* copy env. from stack to heap */ ++ static int moreenv __ARGS((void)); /* incr. size of env. */ ++ ++ int ++ putenv(string) ++ const char *string; ++ { ++ int i; ++ char *p; ++ ++ if (envsize < 0) ++ { /* first time putenv called */ ++ if (newenv() < 0) /* copy env. to heap */ ++ return -1; ++ } ++ ++ i = findenv((char *)string); /* look for name in environment */ ++ ++ if (i < 0) ++ { /* name must be added */ ++ for (i = 0; environ[i]; i++); ++ if (i >= (envsize - 1)) ++ { /* need new slot */ ++ if (moreenv() < 0) ++ return -1; ++ } ++ p = (char *)alloc((unsigned)(strlen(string) + 1)); ++ if (p == NULL) /* not enough core */ ++ return -1; ++ environ[i + 1] = 0; /* new end of env. */ ++ } ++ else ++ { /* name already in env. */ ++ p = vim_realloc(environ[i], strlen(string) + 1); ++ if (p == NULL) ++ return -1; ++ } ++ sprintf(p, "%s", string); /* copy into env. */ ++ environ[i] = p; ++ ++ return 0; ++ } ++ ++ static int ++ findenv(name) ++ char *name; ++ { ++ char *namechar, *envchar; ++ int i, found; ++ ++ found = 0; ++ for (i = 0; environ[i] && !found; i++) ++ { ++ envchar = environ[i]; ++ namechar = name; ++ while (*namechar && *namechar != '=' && (*namechar == *envchar)) ++ { ++ namechar++; ++ envchar++; ++ } ++ found = ((*namechar == '\0' || *namechar == '=') && *envchar == '='); ++ } ++ return found ? i - 1 : -1; ++ } ++ ++ static int ++ newenv() ++ { ++ char **env, *elem; ++ int i, esize; ++ ++ #ifdef MACOS ++ /* for Mac a new, empty environment is created */ ++ i = 0; ++ #else ++ for (i = 0; environ[i]; i++) ++ ; ++ #endif ++ esize = i + EXTRASIZE + 1; ++ env = (char **)alloc((unsigned)(esize * sizeof (elem))); ++ if (env == NULL) ++ return -1; ++ ++ #ifndef MACOS ++ for (i = 0; environ[i]; i++) ++ { ++ elem = (char *)alloc((unsigned)(strlen(environ[i]) + 1)); ++ if (elem == NULL) ++ return -1; ++ env[i] = elem; ++ strcpy(elem, environ[i]); ++ } ++ #endif ++ ++ env[i] = 0; ++ environ = env; ++ envsize = esize; ++ return 0; ++ } ++ ++ static int ++ moreenv() ++ { ++ int esize; ++ char **env; ++ ++ esize = envsize + EXTRASIZE; ++ env = (char **)vim_realloc((char *)environ, esize * sizeof (*env)); ++ if (env == 0) ++ return -1; ++ environ = env; ++ envsize = esize; ++ return 0; ++ } ++ ++ # ifdef USE_VIMPTY_GETENV ++ char_u * ++ vimpty_getenv(string) ++ const char_u *string; ++ { ++ int i; ++ char_u *p; ++ ++ if (envsize < 0) ++ return NULL; ++ ++ i = findenv((char *)string); ++ ++ if (i < 0) ++ return NULL; ++ ++ p = vim_strchr((char_u *)environ[i], '='); ++ return (p + 1); ++ } ++ # endif ++ ++ #endif /* !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) */ +*** ../vim60.30/src/pty.c Sat Jul 28 12:34:41 2001 +--- src/pty.c Sun Oct 28 21:46:44 2001 +*************** +*** 9,15 **** + /* + * The stuff in this file mostly comes from the "screen" program. + * Included with permission from Juergen Weigert. +! * Copied from "pty.c" and "putenv.c". + * + * It has been modified to work better with Vim. + * The parts that are not used in Vim have been deleted. +--- 9,15 ---- + /* + * The stuff in this file mostly comes from the "screen" program. + * Included with permission from Juergen Weigert. +! * Copied from "pty.c". "putenv.c" was used for putenv() in misc2.c. + * + * It has been modified to work better with Vim. + * The parts that are not used in Vim have been deleted. +*************** +*** 423,597 **** + return -1; + } + #endif +- +- /* putenv.c */ +- +- /* +- * putenv -- put value into environment +- * +- * Usage: i = putenv (string) +- * int i; +- * char *string; +- * +- * where string is of the form <name>=<value>. +- * Putenv returns 0 normally, -1 on error (not enough core for malloc). +- * +- * Putenv may need to add a new name into the environment, or to +- * associate a value longer than the current value with a particular +- * name. So, to make life simpler, putenv() copies your entire +- * environment into the heap (i.e. malloc()) from the stack +- * (i.e. where it resides when your process is initiated) the first +- * time you call it. +- * +- * (history removed, not very interesting. See the "screen" sources.) +- */ +- /* RCS_ID("$Id: 6.0.031,v 1.1 2002/01/06 22:32:01 agriffis Exp $ FAU") */ +- +- #if !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) +- +- #define EXTRASIZE 5 /* increment to add to env. size */ +- +- static int envsize = -1; /* current size of environment */ +- #ifndef MACOS +- extern +- #endif +- char **environ; /* the global which is your env. */ +- +- static int findenv __ARGS((char *name)); /* look for a name in the env. */ +- static int newenv __ARGS((void)); /* copy env. from stack to heap */ +- static int moreenv __ARGS((void)); /* incr. size of env. */ +- +- int +- putenv(string) +- const char *string; +- { +- int i; +- char *p; +- +- if (envsize < 0) +- { /* first time putenv called */ +- if (newenv() < 0) /* copy env. to heap */ +- return -1; +- } +- +- i = findenv((char *)string); /* look for name in environment */ +- +- if (i < 0) +- { /* name must be added */ +- for (i = 0; environ[i]; i++); +- if (i >= (envsize - 1)) +- { /* need new slot */ +- if (moreenv() < 0) +- return -1; +- } +- p = (char *)alloc((unsigned)(strlen(string) + 1)); +- if (p == NULL) /* not enough core */ +- return -1; +- environ[i + 1] = 0; /* new end of env. */ +- } +- else +- { /* name already in env. */ +- p = vim_realloc(environ[i], strlen(string) + 1); +- if (p == NULL) +- return -1; +- } +- sprintf(p, "%s", string); /* copy into env. */ +- environ[i] = p; +- +- return 0; +- } +- +- static int +- findenv(name) +- char *name; +- { +- char *namechar, *envchar; +- int i, found; +- +- found = 0; +- for (i = 0; environ[i] && !found; i++) +- { +- envchar = environ[i]; +- namechar = name; +- while (*namechar && *namechar != '=' && (*namechar == *envchar)) +- { +- namechar++; +- envchar++; +- } +- found = ((*namechar == '\0' || *namechar == '=') && *envchar == '='); +- } +- return found ? i - 1 : -1; +- } +- +- static int +- newenv() +- { +- char **env, *elem; +- int i, esize; +- +- #ifdef MACOS +- /* for Mac a new, empty environment is created */ +- i = 0; +- #else +- for (i = 0; environ[i]; i++) +- ; +- #endif +- esize = i + EXTRASIZE + 1; +- env = (char **)alloc((unsigned)(esize * sizeof (elem))); +- if (env == NULL) +- return -1; +- +- #ifndef MACOS +- for (i = 0; environ[i]; i++) +- { +- elem = (char *)alloc((unsigned)(strlen(environ[i]) + 1)); +- if (elem == NULL) +- return -1; +- env[i] = elem; +- strcpy(elem, environ[i]); +- } +- #endif +- +- env[i] = 0; +- environ = env; +- envsize = esize; +- return 0; +- } +- +- static int +- moreenv() +- { +- int esize; +- char **env; +- +- esize = envsize + EXTRASIZE; +- env = (char **)vim_realloc((char *)environ, esize * sizeof (*env)); +- if (env == 0) +- return -1; +- environ = env; +- envsize = esize; +- return 0; +- } +- +- # ifdef USE_VIMPTY_GETENV +- char_u * +- vimpty_getenv(string) +- const char_u *string; +- { +- int i; +- char_u *p; +- +- if (envsize < 0) +- return NULL; +- +- i = findenv((char *)string); +- +- if (i < 0) +- return NULL; +- +- p = vim_strchr((char_u *)environ[i], '='); +- return (p + 1); +- } +- # endif +- +- #endif /* !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) */ +--- 423,425 ---- +*** ../vim60.30/src/version.c Sun Oct 28 21:23:45 2001 +--- src/version.c Sun Oct 28 21:51:26 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 31, + /**/ + +-- +-rwxr-xr-x 1 root 24 Oct 29 1929 /bin/ed +-rwxr-xr-t 4 root 131720 Jan 1 1970 /usr/ucb/vi +-rwxr-xr-x 1 root 5.89824e37 Oct 22 1990 /usr/bin/emacs + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.032 b/app-editors/vim/files/6.0.032 new file mode 100644 index 000000000000..a60a7c6eead9 --- /dev/null +++ b/app-editors/vim/files/6.0.032 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.032 +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 6.0.032 +Problem: When changing a setting that affects all folds, they are not + displayed immediately. +Solution: Set the redraw flag in foldUpdateAll(). +Files: src/fold.c + + +*** ../vim60.31/src/fold.c Wed Sep 26 12:36:14 2001 +--- src/fold.c Mon Oct 29 09:27:51 2001 +*************** +*** 836,841 **** +--- 836,842 ---- + win_T *win; + { + win->w_foldinvalid = TRUE; ++ redraw_later(NOT_VALID); + } + + /* foldMoveTo() {{{2 */ +*** ../vim60.31/src/version.c Sun Oct 28 21:57:01 2001 +--- src/version.c Mon Oct 29 09:32:32 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 32, + /**/ + +-- +FATHER: You only killed the bride's father - that's all - +LAUNCELOT: Oh dear, I didn't really mean to... +FATHER: Didn't mean to? You put your sword right through his head! +LAUNCELOT: Gosh - Is he all right? + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.033 b/app-editors/vim/files/6.0.033 new file mode 100644 index 000000000000..7e40d53cadf9 --- /dev/null +++ b/app-editors/vim/files/6.0.033 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.033 +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 6.0.033 +Problem: Using 'wildmenu' on MS-Windows, file names that include a space + are only displayed starting with that space. (Xie Yuheng) +Solution: Don't recognize a backslash before a space as a path separator. +Files: src/screen.c + + +*** ../vim60.32/src/screen.c Fri Sep 28 22:19:57 2001 +--- src/screen.c Mon Oct 29 14:36:57 2001 +*************** +*** 4324,4330 **** + + for (p = s; *p != NUL; ) + { +! if (vim_ispathsep(*p)) + had_sep = TRUE; + else if (had_sep) + { +--- 4329,4339 ---- + + for (p = s; *p != NUL; ) + { +! if (vim_ispathsep(*p) +! #ifdef BACKSLASH_IN_FILENAME +! && !rem_backslash(p) +! #endif +! ) + had_sep = TRUE; + else if (had_sep) + { +*** ../vim60.32/src/version.c Mon Oct 29 09:34:01 2001 +--- src/version.c Mon Oct 29 14:39:33 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 33, + /**/ + +-- +CRONE: Who sent you? +ARTHUR: The Knights Who Say Ni! +CRONE: Aaaagh! (she looks around in rear) No! We have no shrubberies here. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.034 b/app-editors/vim/files/6.0.034 new file mode 100644 index 000000000000..abe77dabed0f --- /dev/null +++ b/app-editors/vim/files/6.0.034 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.034 +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 6.0.034 +Problem: Calling searchpair() with three arguments could result in a crash + or strange error message. (Kalle Bjorklid) +Solution: Don't use the fifth argument when there is no fourth argument. +Files: src/eval.c + + +*** ../vim60.33/src/eval.c Fri Oct 19 19:36:36 2001 +--- src/eval.c Mon Oct 29 15:09:18 2001 +*************** +*** 5201,5207 **** + dir = get_search_arg(&argvars[3], &flags); /* may set p_ws */ + + /* Optional fifth argument: skip expresion */ +! if (argvars[4].var_type == VAR_UNKNOWN) + skip = (char_u *)""; + else + skip = get_var_string_buf(&argvars[4], nbuf3); +--- 5201,5208 ---- + dir = get_search_arg(&argvars[3], &flags); /* may set p_ws */ + + /* Optional fifth argument: skip expresion */ +! if (argvars[3].var_type == VAR_UNKNOWN +! || argvars[4].var_type == VAR_UNKNOWN) + skip = (char_u *)""; + else + skip = get_var_string_buf(&argvars[4], nbuf3); +*** ../vim60.33/src/version.c Mon Oct 29 14:40:42 2001 +--- src/version.c Mon Oct 29 15:10:33 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 34, + /**/ + +-- +There are three kinds of people: Those who can count & those who can't. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.035 b/app-editors/vim/files/6.0.035 new file mode 100644 index 000000000000..9ef9865aeda6 --- /dev/null +++ b/app-editors/vim/files/6.0.035 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.035 +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 6.0.035 +Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work + when 'ignorecase' is set. (Allen Castaban) +Solution: Always match case when checking if a flag is already present in + 'guioptions'. +Files: runtime/menu.vim + + +*** ../vim60.34/runtime/menu.vim Thu Oct 25 16:34:24 2001 +--- runtime/menu.vim Mon Oct 29 15:20:33 2001 +*************** +*** 203,209 **** + + fun! s:ToggleGuiOption(option) + " If a:option is already set in guioptions, then we want to remove it +! if match(&guioptions, a:option) > -1 + exec "set go-=" . a:option + else + exec "set go+=" . a:option +--- 203,209 ---- + + fun! s:ToggleGuiOption(option) + " If a:option is already set in guioptions, then we want to remove it +! if match(&guioptions, "\\C" . a:option) > -1 + exec "set go-=" . a:option + else + exec "set go+=" . a:option +*** ../vim60.34/src/version.c Mon Oct 29 15:15:20 2001 +--- src/version.c Mon Oct 29 15:23:31 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 35, + /**/ + +-- +Mental Floss prevents moral decay! + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.036 b/app-editors/vim/files/6.0.036 new file mode 100644 index 000000000000..9f841c83209d --- /dev/null +++ b/app-editors/vim/files/6.0.036 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.036 +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 6.0.036 +Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a + slash in 'tags' doesn't work as expected. (Mathias Koehrer +Solution: Only use the drive, not the whole path to the current directory. + Also make it work for "c:dir/file". +Files: src/misc2.c + + +*** ../vim60.35/src/misc2.c Sun Oct 28 21:57:01 2001 +--- src/misc2.c Mon Oct 29 17:14:44 2001 +*************** +*** 3532,3542 **** + } + else if (*path == NUL || !vim_isAbsName(path)) + { +! if (mch_dirname(ff_expand_buffer, MAXPATHL) == OK) +! ff_search_ctx->ffsc_start_dir = vim_strsave(ff_expand_buffer); + + if (ff_search_ctx->ffsc_start_dir == NULL) + goto error_return; + } + + #ifdef FEAT_PATH_EXTRA +--- 3533,3568 ---- + } + else if (*path == NUL || !vim_isAbsName(path)) + { +! #ifdef BACKSLASH_IN_FILENAME +! /* "c:dir" needs "c:" to be expanded, otherwise use current dir */ +! if (path[1] == ':') +! { +! char_u drive[3]; +! +! drive[0] = path[0]; +! drive[1] = ':'; +! drive[2] = NUL; +! if (vim_FullName(drive, ff_expand_buffer, MAXPATHL, TRUE) == FAIL) +! goto error_return; +! path += 2; +! } +! else +! #endif +! if (mch_dirname(ff_expand_buffer, MAXPATHL) == FAIL) +! goto error_return; + ++ ff_search_ctx->ffsc_start_dir = vim_strsave(ff_expand_buffer); + if (ff_search_ctx->ffsc_start_dir == NULL) + goto error_return; ++ ++ #ifdef BACKSLASH_IN_FILENAME ++ /* A path that starts with "/dir" is relative to the drive, not to the ++ * directory (but not for "//machine/dir"). Only use the drive name. */ ++ if ((*path == '/' || *path == '\\') ++ && path[1] != path[0] ++ && ff_search_ctx->ffsc_start_dir[1] == ':') ++ ff_search_ctx->ffsc_start_dir[2] = NUL; ++ #endif + } + + #ifdef FEAT_PATH_EXTRA +*** ../vim60.35/src/version.c Mon Oct 29 15:24:28 2001 +--- src/version.c Mon Oct 29 16:38:23 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 36, + /**/ + +-- +Did you ever stop to think... and forget to start again? + -- Steven Wright + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.037 b/app-editors/vim/files/6.0.037 new file mode 100644 index 000000000000..c2ecb5670220 --- /dev/null +++ b/app-editors/vim/files/6.0.037 @@ -0,0 +1,84 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.037 +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 6.0.037 +Problem: When the user has set "did_install_syntax_menu" to avoid the + default Syntax menu it still appears. (Virgilio) +Solution: Don't add the three default items when "did_install_syntax_menu" + is set. +Files: runtime/menu.vim + + +*** ../vim60.36/runtime/menu.vim Mon Oct 29 15:24:28 2001 +--- runtime/menu.vim Mon Oct 29 21:06:23 2001 +*************** +*** 831,850 **** + endif " !exists("did_install_default_menus") + + " Define these items always, so that syntax can be switched on when it wasn't. +! am 50.212 &Syntax.&Manual :syn manual<CR> +! am 50.214 &Syntax.A&utomatic :syn on<CR> +! am <silent> 50.216 &Syntax.on/off\ for\ &This\ file :call <SID>SynOnOff()<CR> +! if !exists("*s:SynOnOff") +! fun s:SynOnOff() +! if has("syntax_items") +! syn clear +! else +! if !exists("g:syntax_on") +! syn manual + endif +! set syn=ON +! endif +! endfun + endif + + +--- 831,853 ---- + endif " !exists("did_install_default_menus") + + " Define these items always, so that syntax can be switched on when it wasn't. +! " But skip them when the Syntax menu was disabled by the user. +! if !exists("did_install_syntax_menu") +! am 50.212 &Syntax.&Manual :syn manual<CR> +! am 50.214 &Syntax.A&utomatic :syn on<CR> +! am <silent> 50.216 &Syntax.on/off\ for\ &This\ file :call <SID>SynOnOff()<CR> +! if !exists("*s:SynOnOff") +! fun s:SynOnOff() +! if has("syntax_items") +! syn clear +! else +! if !exists("g:syntax_on") +! syn manual +! endif +! set syn=ON + endif +! endfun +! endif + endif + + +*** ../vim60.36/src/version.c Mon Oct 29 17:19:02 2001 +--- src/version.c Mon Oct 29 21:10:10 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 37, + /**/ + +-- + [Autumn changed into Winter ... Winter changed into Spring ... Spring + changed back into Autumn and Autumn gave Winter and Spring a miss and + went straight on into Summer ... Until one day ...] + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.038 b/app-editors/vim/files/6.0.038 new file mode 100644 index 000000000000..1f22a5851380 --- /dev/null +++ b/app-editors/vim/files/6.0.038 @@ -0,0 +1,56 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.038 +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 6.0.038 +Problem: When 'selection' is "exclusive", deleting a block of text at the + end of a line can leave the cursor beyond the end of the line. +Solution: Correct the cursor position. +Files: src/ops.c + + +*** ../vim60.37/src/ops.c Sun Oct 28 16:41:29 2001 +--- src/ops.c Tue Oct 30 11:14:22 2001 +*************** +*** 1575,1581 **** + ml_replace(lnum, newp, FALSE); + } + +! /* Put cursor back at start of changed block */ + changed_lines(curwin->w_cursor.lnum, curwin->w_cursor.col, + oap->end.lnum + 1, 0L); + oap->line_count = 0; /* no lines deleted */ +--- 1575,1581 ---- + ml_replace(lnum, newp, FALSE); + } + +! check_cursor_col(); + changed_lines(curwin->w_cursor.lnum, curwin->w_cursor.col, + oap->end.lnum + 1, 0L); + oap->line_count = 0; /* no lines deleted */ +*** ../vim60.37/src/version.c Tue Oct 30 11:17:56 2001 +--- src/version.c Tue Oct 30 11:17:22 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 38, + /**/ + +-- +ROBIN: The what? +ARTHUR: The Holy Hand Grenade of Antioch. 'Tis one of the sacred relics + Brother Maynard always carries with him. +ALL: Yes. Of course. +ARTHUR: (shouting) Bring up the Holy Hand Grenade! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.039 b/app-editors/vim/files/6.0.039 new file mode 100644 index 000000000000..2eb227ba2e08 --- /dev/null +++ b/app-editors/vim/files/6.0.039 @@ -0,0 +1,108 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.039 +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 6.0.039 +Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is + used. Using "c" in blockwise Visual mode leaves the cursor in a + strange position. +Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave + the cursor on the last inserted character. +Files: src/ops.c + + +*** ../vim60.38/src/ops.c Tue Oct 30 11:19:49 2001 +--- src/ops.c Tue Oct 30 14:33:31 2001 +*************** +*** 2304,2314 **** + */ + if ((ins_len = (long)STRLEN(firstline) - pre_textlen) > 0) + { +! if ((ins_text = alloc_check((unsigned)(ins_len + 1))) != 0) + { +- /* put cursor at end of changed text */ +- curwin->w_cursor = oap->end; +- + STRNCPY(ins_text, firstline + bd.textcol, ins_len); + *(ins_text + ins_len) = NUL; + for (linenr = oap->start.lnum + 1; linenr <= oap->end.lnum; +--- 2305,2312 ---- + */ + if ((ins_len = (long)STRLEN(firstline) - pre_textlen) > 0) + { +! if ((ins_text = alloc_check((unsigned)(ins_len + 1))) != NULL) + { + STRNCPY(ins_text, firstline + bd.textcol, ins_len); + *(ins_text + ins_len) = NUL; + for (linenr = oap->start.lnum + 1; linenr <= oap->end.lnum; +*************** +*** 2331,2341 **** + mch_memmove(newp + bd.textcol + offset, oldp, + STRLEN(oldp) + 1); + ml_replace(linenr, newp, FALSE); +- if (linenr == oap->end.lnum) +- curwin->w_cursor.col = bd.textcol + ins_len - 1; + } + } +- curwin->w_cursor.col = oap->start.col; + check_cursor(); + + changed_lines(oap->start.lnum + 1, 0, oap->end.lnum + 1, 0L); +--- 2329,2336 ---- +*************** +*** 3135,3140 **** +--- 3130,3138 ---- + /* adjust '] mark */ + curbuf->b_op_end.lnum = curwin->w_cursor.lnum - 1; + curbuf->b_op_end.col = bd.textcol + totlen - 1; ++ #ifdef FEAT_VIRTUALEDIT ++ curbuf->b_op_end.coladd = 0; ++ #endif + if (flags & PUT_CURSEND) + { + curwin->w_cursor = curbuf->b_op_end; +*************** +*** 3375,3381 **** +--- 3373,3385 ---- + && gchar_cursor() == NUL + && curwin->w_cursor.col + && !(restart_edit || (State & INSERT))) ++ { + --curwin->w_cursor.col; ++ #ifdef FEAT_VIRTUALEDIT ++ if (ve_flags == VE_ALL) ++ ++curwin->w_cursor.coladd; ++ #endif ++ } + } + + #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) || defined(PROTO) +*** ../vim60.38/src/version.c Tue Oct 30 11:19:49 2001 +--- src/version.c Tue Oct 30 14:43:04 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 39, + /**/ + +-- +BROTHER MAYNARD: Armaments Chapter Two Verses Nine to Twenty One. +ANOTHER MONK: And St. Attila raised his hand grenade up on high saying "O + Lord bless this thy hand grenade that with it thou mayest + blow thine enemies to tiny bits, in thy mercy. "and the Lord + did grin and people did feast upon the lambs and sloths and + carp and anchovies and orang-utans and breakfast cereals and + fruit bats and... +BROTHER MAYNARD: Skip a bit brother ... + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.040 b/app-editors/vim/files/6.0.040 new file mode 100644 index 000000000000..3f433ef196f7 --- /dev/null +++ b/app-editors/vim/files/6.0.040 @@ -0,0 +1,221 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.040 +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 6.0.040 +Problem: When 'fileencoding' is invalid and writing fails because of + this, the original file is gone. (Eric Carlier) +Solution: Restore the original file from the backup. +Files: src/fileio.c + + +*** ../vim60.39/src/fileio.c Thu Sep 20 18:09:15 2001 +--- src/fileio.c Tue Oct 30 19:59:18 2001 +*************** +*** 2183,2189 **** + int backup_copy = FALSE; /* copy the original file? */ + int dobackup; + char_u *ffname; +! char_u *wfname; /* name of file to write to */ + char_u *s; + char_u *ptr; + char_u c; +--- 2183,2189 ---- + int backup_copy = FALSE; /* copy the original file? */ + int dobackup; + char_u *ffname; +! char_u *wfname = NULL; /* name of file to write to */ + char_u *s; + char_u *ptr; + char_u c; +*************** +*** 3016,3022 **** + if (got_int) + { + errmsg = (char_u *)_(e_interr); +! goto fail; + } + } + +--- 3016,3022 ---- + if (got_int) + { + errmsg = (char_u *)_(e_interr); +! goto restore_backup; + } + } + +*************** +*** 3030,3036 **** + if (mch_has_resource_fork(fname)) + { + errmsg = (char_u *)_("The resource fork will be lost (use ! to override)"); +! goto fail; + } + #endif + +--- 3030,3036 ---- + if (mch_has_resource_fork(fname)) + { + errmsg = (char_u *)_("The resource fork will be lost (use ! to override)"); +! goto restore_backup; + } + #endif + +*************** +*** 3119,3125 **** + if (wfname == NULL) /* Can't write without a tempfile! */ + { + errmsg = (char_u *)_("E214: Can't find temp file for writing"); +! goto fail; + } + } + # endif +--- 3119,3125 ---- + if (wfname == NULL) /* Can't write without a tempfile! */ + { + errmsg = (char_u *)_("E214: Can't find temp file for writing"); +! goto restore_backup; + } + } + # endif +*************** +*** 3137,3143 **** + if (!forceit) + { + errmsg = (char_u *)_("E213: Cannot convert (use ! to write without conversion)"); +! goto fail; + } + notconverted = TRUE; + } +--- 3137,3143 ---- + if (!forceit) + { + errmsg = (char_u *)_("E213: Cannot convert (use ! to write without conversion)"); +! goto restore_backup; + } + notconverted = TRUE; + } +*************** +*** 3156,3163 **** + : (O_CREAT | O_TRUNC)) + , 0666)) < 0) + { +- struct stat st; +- + /* + * A forced write will try to create a new file if the old one is + * still readonly. This may also happen when the directory is +--- 3156,3161 ---- +*************** +*** 3196,3233 **** + } + } + } +! /* +! * If we failed to open the file, we don't need a backup. Throw it +! * away. If we moved or removed the original file try to put the +! * backup in its place. +! */ +! if (backup != NULL && wfname == fname) + { +! if (backup_copy) + { +! /* +! * There is a small chance that we removed the original, try +! * to move the copy in its place. +! * This may not work if the vim_rename() fails. +! * In that case we leave the copy around. +! */ +! /* If file does not exist, put the copy in its place */ +! if (mch_stat((char *)fname, &st) < 0) + vim_rename(backup, fname); +! /* if original file does exist throw away the copy */ +! if (mch_stat((char *)fname, &st) >= 0) +! mch_remove(backup); +! } +! else +! { +! /* try to put the original file back */ +! vim_rename(backup, fname); + } +- } + +! /* if original file no longer exists give an extra warning */ +! if (!newfile && mch_stat((char *)fname, &st) < 0) +! end = 0; + + #ifdef FEAT_MBYTE + if (wfname != fname) +--- 3194,3237 ---- + } + } + } +! +! restore_backup: + { +! struct stat st; +! +! /* +! * If we failed to open the file, we don't need a backup. Throw it +! * away. If we moved or removed the original file try to put the +! * backup in its place. +! */ +! if (backup != NULL && wfname == fname) + { +! if (backup_copy) +! { +! /* +! * There is a small chance that we removed the original, +! * try to move the copy in its place. +! * This may not work if the vim_rename() fails. +! * In that case we leave the copy around. +! */ +! /* If file does not exist, put the copy in its place */ +! if (mch_stat((char *)fname, &st) < 0) +! vim_rename(backup, fname); +! /* if original file does exist throw away the copy */ +! if (mch_stat((char *)fname, &st) >= 0) +! mch_remove(backup); +! } +! else +! { +! /* try to put the original file back */ + vim_rename(backup, fname); +! } + } + +! /* if original file no longer exists give an extra warning */ +! if (!newfile && mch_stat((char *)fname, &st) < 0) +! end = 0; +! } + + #ifdef FEAT_MBYTE + if (wfname != fname) +*** ../vim60.39/src/version.c Tue Oct 30 14:52:27 2001 +--- src/version.c Tue Oct 30 20:01:33 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 40, + /**/ + +-- +VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur + and his knights seemed hopeless, when, suddenly ... the animator + suffered a fatal heart attack. +ANIMATOR: Aaaaagh! +VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could + continue. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.041 b/app-editors/vim/files/6.0.041 new file mode 100644 index 000000000000..c78e141e8ece --- /dev/null +++ b/app-editors/vim/files/6.0.041 @@ -0,0 +1,139 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.041 +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 6.0.041 +Problem: Using ":language messages en" when LC_MESSAGES is undefined + results in setting LC_CTYPE. (Eric Carlier) +Solution: Set $LC_MESSAGES instead. +Files: src/ex_cmds2.c + + +*** ../vim60.40/src/ex_cmds2.c Sun Oct 28 21:23:45 2001 +--- src/ex_cmds2.c Tue Oct 30 20:32:04 2001 +*************** +*** 4628,4633 **** +--- 4628,4638 ---- + char_u *name; + int what = LC_ALL; + char *whatstr = ""; ++ #ifdef LC_MESSAGES ++ # define VIM_LC_MESSAGES LC_MESSAGES ++ #else ++ # define VIM_LC_MESSAGES 6789 ++ #endif + + name = eap->arg; + +*************** +*** 4639,4649 **** + { + if (STRNICMP(eap->arg, "messages", p - eap->arg) == 0) + { +! #ifdef LC_MESSAGES +! what = LC_MESSAGES; +! #else +! what = LC_CTYPE; +! #endif + name = skipwhite(p); + whatstr = "messages "; + } +--- 4644,4650 ---- + { + if (STRNICMP(eap->arg, "messages", p - eap->arg) == 0) + { +! what = VIM_LC_MESSAGES; + name = skipwhite(p); + whatstr = "messages "; + } +*************** +*** 4663,4674 **** + + if (*name == NUL) + { +! smsg((char_u *)_("Current %slanguage: \"%s\""), +! whatstr, setlocale(what, NULL)); + } + else + { +! loc = setlocale(what, (char *)name); + if (loc == NULL) + EMSG2(_("E197: Cannot set language to \"%s\""), name); + else +--- 4664,4695 ---- + + if (*name == NUL) + { +! #ifndef LC_MESSAGES +! if (what == VIM_LC_MESSAGES) +! { +! p = vim_getenv("LC_ALL"); +! if (p == NULL || *p == NUL) +! { +! p = vim_getenv("LC_MESSAGES"); +! if (p == NULL || *p == NUL) +! p = vim_getenv("LANG"); +! } +! } +! else +! #endif +! p = setlocale(what, NULL); +! if (p == NULL || *p == NUL) +! p = "Unknown"; +! smsg((char_u *)_("Current %slanguage: \"%s\""), whatstr, p); + } + else + { +! #ifndef LC_MESSAGES +! if (what == VIM_LC_MESSAGES) +! loc = ""; +! else +! #endif +! loc = setlocale(what, (char *)name); + if (loc == NULL) + EMSG2(_("E197: Cannot set language to \"%s\""), name); + else +*************** +*** 4697,4705 **** + /* Set $LC_CTYPE, because it overrules $LANG, and + * gtk_set_locale() calls setlocale() again. gnome_init() + * sets $LC_CTYPE to "en_US" (that's a bug!). */ +! #ifdef LC_MESSAGES +! if (what != LC_MESSAGES) +! #endif + vim_setenv((char_u *)"LC_CTYPE", name); + # ifdef FEAT_GUI_GTK + /* Let GTK know what locale we're using. Not sure this is +--- 4718,4724 ---- + /* Set $LC_CTYPE, because it overrules $LANG, and + * gtk_set_locale() calls setlocale() again. gnome_init() + * sets $LC_CTYPE to "en_US" (that's a bug!). */ +! if (what != VIM_LC_MESSAGES) + vim_setenv((char_u *)"LC_CTYPE", name); + # ifdef FEAT_GUI_GTK + /* Let GTK know what locale we're using. Not sure this is +*** ../vim60.40/src/version.c Tue Oct 30 20:35:08 2001 +--- src/version.c Tue Oct 30 20:34:45 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 41, + /**/ + +-- +BEDEVERE: Look! It's the old man from scene 24 - what's he Doing here? +ARTHUR: He is the keeper of the Bridge. He asks each traveler five + questions ... +GALAHAD: Three questions. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.042 b/app-editors/vim/files/6.0.042 new file mode 100644 index 000000000000..b5264789d023 --- /dev/null +++ b/app-editors/vim/files/6.0.042 @@ -0,0 +1,118 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.042 +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 6.0.042 +Problem: ":mksession" can't handle file names with a space. +Solution: Escape special characters in file names with a backslash. +Files: src/ex_docmd.c + + +*** ../vim60.41/src/ex_docmd.c Sun Oct 28 21:23:45 2001 +--- src/ex_docmd.c Tue Oct 30 21:16:12 2001 +*************** +*** 8417,8423 **** + + /* + * Write a file name to the session file. +! * Takes care of the "slash" option in 'sessionoptions'. + * Returns FAIL if writing fails. + */ + static int +--- 8417,8424 ---- + + /* + * Write a file name to the session file. +! * Takes care of the "slash" option in 'sessionoptions' and escapes special +! * characters. + * Returns FAIL if writing fails. + */ + static int +*************** +*** 8433,8451 **** + sname = home_replace_save(NULL, name); + if (sname != NULL) + name = sname; +! if (*flagp & SSOP_SLASH) + { +! while (*name) + { +! c = *name++; +! if (c == '\\') +! c = '/'; +! if (putc(c, fd) != c) + retval = FAIL; + } + } +- else if (fputs((char *)name, fd) < 0) +- retval = FAIL; + vim_free(sname); + return retval; + } +--- 8434,8475 ---- + sname = home_replace_save(NULL, name); + if (sname != NULL) + name = sname; +! while (*name != NUL) + { +! #ifdef FEAT_MBYTE + { +! int l; +! +! if (has_mbyte && (l = (*mb_ptr2len_check)(name)) > 1) +! { +! /* copy a multibyte char */ +! while (--l >= 0) +! { +! if (putc(*name, fd) != *name) +! retval = FAIL; +! ++name; +! } +! continue; +! } +! } +! #endif +! c = *name++; +! if (c == '\\' && (*flagp & SSOP_SLASH)) +! /* change a backslash to a forward slash */ +! c = '/'; +! else if (vim_strchr(escape_chars, c) != NULL +! #ifdef BACKSLASH_IN_FILENAME +! && c != '\\' +! #endif +! ) +! { +! /* escape a special character with a backslash */ +! if (putc('\\', fd) != '\\') + retval = FAIL; + } ++ if (putc(c, fd) != c) ++ retval = FAIL; + } + vim_free(sname); + return retval; + } +*** ../vim60.41/src/version.c Tue Oct 30 20:43:43 2001 +--- src/version.c Tue Oct 30 20:59:56 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 42, + /**/ + +-- +ARTHUR: No, hang on! Just answer the five questions ... +GALAHAD: Three questions ... +ARTHUR: Three questions ... And we shall watch ... and pray. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.043 b/app-editors/vim/files/6.0.043 new file mode 100644 index 000000000000..e41bcd33f746 --- /dev/null +++ b/app-editors/vim/files/6.0.043 @@ -0,0 +1,76 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.043 +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 6.0.043 +Problem: Patch 6.0.041 was wrong. +Solution: Use mch_getenv() instead of vim_getenv(). +Files: src/ex_cmds2.c + + +*** ../vim60.42/src/ex_cmds2.c Tue Oct 30 20:43:43 2001 +--- src/ex_cmds2.c Wed Oct 31 10:10:45 2001 +*************** +*** 4667,4685 **** + #ifndef LC_MESSAGES + if (what == VIM_LC_MESSAGES) + { +! p = vim_getenv("LC_ALL"); + if (p == NULL || *p == NUL) + { +! p = vim_getenv("LC_MESSAGES"); + if (p == NULL || *p == NUL) +! p = vim_getenv("LANG"); + } + } + else + #endif +! p = setlocale(what, NULL); + if (p == NULL || *p == NUL) +! p = "Unknown"; + smsg((char_u *)_("Current %slanguage: \"%s\""), whatstr, p); + } + else +--- 4667,4685 ---- + #ifndef LC_MESSAGES + if (what == VIM_LC_MESSAGES) + { +! p = mch_getenv((char_u *)"LC_ALL"); + if (p == NULL || *p == NUL) + { +! p = mch_getenv((char_u *)"LC_MESSAGES"); + if (p == NULL || *p == NUL) +! p = mch_getenv((char_u *)"LANG"); + } + } + else + #endif +! p = (char_u *)setlocale(what, NULL); + if (p == NULL || *p == NUL) +! p = (char_u *)"Unknown"; + smsg((char_u *)_("Current %slanguage: \"%s\""), whatstr, p); + } + else +*** ../vim60.42/src/version.c Tue Oct 30 21:18:36 2001 +--- src/version.c Wed Oct 31 10:08:33 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 43, + /**/ + +-- +It is illegal for anyone to give lighted cigars to dogs, cats, and other +domesticated animal kept as pets. + [real standing law in Illinois, United States of America] + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.044 b/app-editors/vim/files/6.0.044 new file mode 100644 index 000000000000..fc9224fe5208 --- /dev/null +++ b/app-editors/vim/files/6.0.044 @@ -0,0 +1,184 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.044 +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 6.0.044 +Problem: Using a "containedin" list for a syntax item doesn't work for an + item that doesn't have a "contains" argument. Also, "containedin" + doesn't ignore a transparent item. (Timo Frenay) +Solution: When there is a "containedin" argument somewhere, always check for + contained items. Don't check for the transparent item but the + item it's contained in. +Files: src/structs.h, src/syntax.c + + +*** ../vim60.43/src/structs.h Sun Oct 28 21:15:32 2001 +--- src/structs.h Wed Oct 31 10:34:45 2001 +*************** +*** 1018,1023 **** +--- 1018,1025 ---- + int b_syn_ic; /* ignore case for :syn cmds */ + garray_T b_syn_patterns; /* table for syntax patterns */ + garray_T b_syn_clusters; /* table for syntax clusters */ ++ int b_syn_containedin; /* TRUE when there is an item with a ++ "containedin" argument */ + int b_syn_sync_flags; /* flags about how to sync */ + short b_syn_sync_id; /* group to sync on */ + long b_syn_sync_minlines; /* minimal sync lines offset */ +*** ../vim60.43/src/syntax.c Mon Oct 22 18:52:01 2001 +--- src/syntax.c Wed Oct 31 11:11:24 2001 +*************** +*** 174,179 **** +--- 174,180 ---- + #define HL_FOLD 0x2000 /* define fold */ + #define HL_EXTEND 0x4000 /* ignore a keepend */ + #define HL_MATCHCONT 0x8000 /* match continued from previous line */ ++ #define HL_TRANS_CONT 0x10000 /* transparent item without contains arg */ + + #define SYN_ITEMS(buf) ((synpat_T *)((buf)->b_syn_patterns.ga_data)) + +*************** +*** 1772,1784 **** + * 1. Check for a current state. + * Only when there is no current state, or if the current state may + * contain other things, we need to check for keywords and patterns. + */ + if (current_state.ga_len) + cur_si = &CUR_STATE(current_state.ga_len - 1); + else + cur_si = NULL; + +! if (cur_si == NULL || cur_si->si_cont_list != NULL) + { + /* + * 2. Check for keywords, if on a keyword char after a non-keyword +--- 1773,1788 ---- + * 1. Check for a current state. + * Only when there is no current state, or if the current state may + * contain other things, we need to check for keywords and patterns. ++ * Always need to check for contained items if some item has the ++ * "containedin" argument (takes extra time!). + */ + if (current_state.ga_len) + cur_si = &CUR_STATE(current_state.ga_len - 1); + else + cur_si = NULL; + +! if (curbuf->b_syn_containedin || cur_si == NULL +! || cur_si->si_cont_list != NULL) + { + /* + * 2. Check for keywords, if on a keyword char after a non-keyword +*************** +*** 2387,2393 **** +--- 2391,2400 ---- + sip->si_attr = CUR_STATE(idx - 1).si_attr; + sip->si_trans_id = CUR_STATE(idx - 1).si_trans_id; + if (sip->si_cont_list == NULL) ++ { ++ sip->si_flags |= HL_TRANS_CONT; + sip->si_cont_list = CUR_STATE(idx - 1).si_cont_list; ++ } + } + } + } +*************** +*** 3001,3006 **** +--- 3008,3014 ---- + int i; + + curbuf->b_syn_ic = FALSE; /* Use case, by default */ ++ curbuf->b_syn_containedin = FALSE; + + /* free the keywords */ + free_keywtab(buf->b_keywtab); +*************** +*** 3884,3889 **** +--- 3892,3899 ---- + ktab->k_syn.inc_tag = current_syn_inc_tag; + ktab->flags = flags; + ktab->k_syn.cont_in_list = copy_id_list(cont_in_list); ++ if (cont_in_list != NULL) ++ curbuf->b_syn_containedin = TRUE; + ktab->next_list = copy_id_list(next_list); + + if (curbuf->b_syn_ic) +*************** +*** 4397,4402 **** +--- 4407,4414 ---- + SYN_ITEMS(curbuf)[idx].sp_sync_idx = sync_idx; + SYN_ITEMS(curbuf)[idx].sp_cont_list = cont_list; + SYN_ITEMS(curbuf)[idx].sp_syn.cont_in_list = cont_in_list; ++ if (cont_in_list != NULL) ++ curbuf->b_syn_containedin = TRUE; + SYN_ITEMS(curbuf)[idx].sp_next_list = next_list; + ++curbuf->b_syn_patterns.ga_len; + --curbuf->b_syn_patterns.ga_room; +*************** +*** 4637,4642 **** +--- 4649,4656 ---- + SYN_ITEMS(curbuf)[idx].sp_cont_list = cont_list; + SYN_ITEMS(curbuf)[idx].sp_syn.cont_in_list = + cont_in_list; ++ if (cont_in_list != NULL) ++ curbuf->b_syn_containedin = TRUE; + SYN_ITEMS(curbuf)[idx].sp_next_list = next_list; + } + ++curbuf->b_syn_patterns.ga_len; +*************** +*** 5516,5527 **** + int r; + + /* If spp has a "containedin" list and "cur_si" is in it, return TRUE. */ +! if (cur_si != NULL +! && ssp->cont_in_list != NULL +! && in_id_list(NULL, ssp->cont_in_list, + &(SYN_ITEMS(syn_buf)[cur_si->si_idx].sp_syn), + SYN_ITEMS(syn_buf)[cur_si->si_idx].sp_flags & HL_CONTAINED)) + return TRUE; + + /* + * If list is ID_LIST_ALL, we are in a transparent item that isn't +--- 5530,5548 ---- + int r; + + /* If spp has a "containedin" list and "cur_si" is in it, return TRUE. */ +! if (cur_si != NULL && ssp->cont_in_list != NULL) +! { +! /* Ignore transparent items without a contains argument. */ +! while (cur_si->si_flags & HL_TRANS_CONT) +! --cur_si; +! if (in_id_list(NULL, ssp->cont_in_list, + &(SYN_ITEMS(syn_buf)[cur_si->si_idx].sp_syn), + SYN_ITEMS(syn_buf)[cur_si->si_idx].sp_flags & HL_CONTAINED)) + return TRUE; ++ } ++ ++ if (list == NULL) ++ return FALSE; + + /* + * If list is ID_LIST_ALL, we are in a transparent item that isn't +*** ../vim60.43/src/version.c Wed Oct 31 10:12:03 2001 +--- src/version.c Wed Oct 31 11:14:14 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 44, + /**/ + +-- +Citizens are not allowed to attend a movie house or theater nor ride in a +public streetcar within at least four hours after eating garlic. + [real standing law in Indiana, United States of America] + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.045 b/app-editors/vim/files/6.0.045 new file mode 100644 index 000000000000..32c599ee7f01 --- /dev/null +++ b/app-editors/vim/files/6.0.045 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.045 +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 6.0.045 +Problem: After creating a fold with a Visual selection, another window + with the same buffer still has inverted text. (Sami Salonen) +Solution: Redraw the inverted text. +Files: src/normal.c + + +*** ../vim60.44/src/normal.c Tue Oct 23 16:54:23 2001 +--- src/normal.c Wed Oct 31 11:51:54 2001 +*************** +*** 1633,1641 **** + && vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL); + + #ifdef FEAT_VISUAL +! /* Force a redraw when operating on an empty Visual region or when +! * 'modifiable is off. */ +! if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma)) + redraw_curbuf_later(INVERTED); + #endif + +--- 1632,1644 ---- + && vim_strchr(p_cpo, CPO_EMPTYREGION) != NULL); + + #ifdef FEAT_VISUAL +! /* Force a redraw when operating on an empty Visual region, when +! * 'modifiable is off or creating a fold. */ +! if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma +! # ifdef FEAT_FOLDING +! || oap->op_type == OP_FOLD +! # endif +! )) + redraw_curbuf_later(INVERTED); + #endif + +*** ../vim60.44/src/version.c Wed Oct 31 11:17:27 2001 +--- src/version.c Wed Oct 31 11:54:20 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 45, + /**/ + +-- +Why don't cannibals eat clowns? +Because they taste funny. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.046 b/app-editors/vim/files/6.0.046 new file mode 100644 index 000000000000..1788648ad752 --- /dev/null +++ b/app-editors/vim/files/6.0.046 @@ -0,0 +1,159 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.046 +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 6.0.046 +Problem: When getrlimit() returns an 8 byte number the check for running + out of stack may fail. (Anthony Meijer) +Solution: Skip the stack check if the limit doesn't fit in a long. +Files: src/auto/configure, src/config.h.in, src/configure.in, + src/os_unix.c + + +*** ../vim60.45/src/auto/configure Fri Sep 28 17:39:10 2001 +--- src/auto/configure Wed Oct 31 13:52:02 2001 +*************** +*** 5145,5158 **** + + fi + + + echo $ac_n "checking for stack_t""... $ac_c" 1>&6 +! echo "configure:5151: checking for stack_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then + echo "$ac_t""(cached) $ac_cv_type_stack_t" 1>&6 + else + cat > conftest.$ac_ext <<EOF +! #line 5156 "configure" + #include "confdefs.h" + + #include "confdefs.h" +--- 5145,5191 ---- + + fi + ++ echo $ac_n "checking for rlim_t""... $ac_c" 1>&6 ++ echo "configure:5150: checking for rlim_t" >&5 ++ if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then ++ echo $ac_n "(cached) $ac_c" 1>&6 ++ else ++ cat > conftest.$ac_ext <<EOF ++ #line 5155 "configure" ++ #include "confdefs.h" ++ #include <sys/types.h> ++ #if STDC_HEADERS ++ #include <stdlib.h> ++ #include <stddef.h> ++ #endif ++ EOF ++ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ egrep "(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then ++ rm -rf conftest* ++ ac_cv_type_rlim_t=yes ++ else ++ rm -rf conftest* ++ ac_cv_type_rlim_t=no ++ fi ++ rm -f conftest* ++ ++ fi ++ echo "$ac_t""$ac_cv_type_rlim_t" 1>&6 ++ if test $ac_cv_type_rlim_t = no; then ++ cat >> confdefs.h <<\EOF ++ #define rlim_t unsigned long ++ EOF ++ ++ fi ++ + + echo $ac_n "checking for stack_t""... $ac_c" 1>&6 +! echo "configure:5184: checking for stack_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then + echo "$ac_t""(cached) $ac_cv_type_stack_t" 1>&6 + else + cat > conftest.$ac_ext <<EOF +! #line 5189 "configure" + #include "confdefs.h" + + #include "confdefs.h" +*** ../vim60.45/src/config.h.in Sat Jul 14 14:56:13 2001 +--- src/config.h.in Wed Oct 31 13:50:02 2001 +*************** +*** 86,91 **** +--- 86,94 ---- + /* Define to `unsigned' if <sys/types.h> doesn't define. */ + #undef dev_t + ++ /* Define to `unsigned long' if <sys/types.h> doesn't define. */ ++ #undef rlim_t ++ + /* Define to `struct sigaltstack' if <signal.h> doesn't define. */ + #undef stack_t + +*** ../vim60.45/src/configure.in Fri Sep 28 17:39:10 2001 +--- src/configure.in Wed Oct 31 13:49:25 2001 +*************** +*** 1405,1410 **** +--- 1405,1411 ---- + AC_HEADER_TIME + AC_CHECK_TYPE(ino_t, long) + AC_CHECK_TYPE(dev_t, unsigned) ++ AC_CHECK_TYPE(rlim_t, unsigned long) + + AC_MSG_CHECKING(for stack_t) + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then +*** ../vim60.45/src/os_unix.c Thu Oct 25 16:34:24 2001 +--- src/os_unix.c Wed Oct 31 13:46:36 2001 +*************** +*** 428,433 **** +--- 428,434 ---- + struct rlimit rlp; + + if (getrlimit(RLIMIT_DATA, &rlp) == 0 ++ && rlp.rlim_cur < ((rlim_t)1 << (sizeof(long_u) * 8 - 1)) + # ifdef RLIM_INFINITY + && rlp.rlim_cur != RLIM_INFINITY + # endif +*************** +*** 544,551 **** + struct rlimit rlp; + int i; + +! /* Set the stack limit to 15/16 of the allowable size. */ + if (getrlimit(RLIMIT_STACK, &rlp) == 0 + # ifdef RLIM_INFINITY + && rlp.rlim_cur != RLIM_INFINITY + # endif +--- 545,554 ---- + struct rlimit rlp; + int i; + +! /* Set the stack limit to 15/16 of the allowable size. Skip this when the +! * limit doesn't fit in a long (rlim_cur might be "long long"). */ + if (getrlimit(RLIMIT_STACK, &rlp) == 0 ++ && rlp.rlim_cur < ((rlim_t)1 << (sizeof(long_u) * 8 - 1)) + # ifdef RLIM_INFINITY + && rlp.rlim_cur != RLIM_INFINITY + # endif +*** ../vim60.45/src/version.c Wed Oct 31 11:56:35 2001 +--- src/version.c Wed Oct 31 14:12:00 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 46, + /**/ + +-- +No man may purchase alcohol without written consent from his wife. + [real standing law in Pennsylvania, United States of America] + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.047 b/app-editors/vim/files/6.0.047 new file mode 100644 index 000000000000..c869bb6a6043 --- /dev/null +++ b/app-editors/vim/files/6.0.047 @@ -0,0 +1,89 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.047 +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 6.0.047 +Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash. + (Samuel Lacas) +Solution: Don't allow nested atoms inside "\%[]". +Files: src/regexp.c + + +*** ../vim60.46/src/regexp.c Wed Oct 24 19:41:55 2001 +--- src/regexp.c Wed Oct 31 14:49:48 2001 +*************** +*** 316,321 **** +--- 316,322 ---- + #define EMSG_RET_NULL(m) { EMSG(_(m)); rc_did_emsg = TRUE; return NULL; } + #define EMSG_M_RET_NULL(m, c) { EMSG2(_(m), c ? "" : "\\"); rc_did_emsg = TRUE; return NULL; } + #define EMSG_RET_FAIL(m) { EMSG(_(m)); rc_did_emsg = TRUE; return FAIL; } ++ #define EMSG_ONE_RET_NULL EMSG_M_RET_NULL("E369: invalid item in %s%%[]", reg_magic == MAGIC_ALL) + + #define MAX_LIMIT (32767L << 16L) + +*************** +*** 1444,1449 **** +--- 1445,1452 ---- + break; + + case Magic('('): ++ if (one_exactly) ++ EMSG_ONE_RET_NULL; + ret = reg(REG_PAREN, &flags); + if (ret == NULL) + return NULL; +*************** +*** 1526,1531 **** +--- 1529,1536 ---- + { + case '(': if (reg_do_extmatch != REX_SET) + EMSG_RET_NULL("E66: \\z( not allowed here"); ++ if (one_exactly) ++ EMSG_ONE_RET_NULL; + ret = reg(REG_ZPAREN, &flags); + if (ret == NULL) + return NULL; +*************** +*** 1565,1570 **** +--- 1570,1577 ---- + { + /* () without a back reference */ + case '(': ++ if (one_exactly) ++ EMSG_ONE_RET_NULL; + ret = reg(REG_NPAREN, &flags); + if (ret == NULL) + return NULL; +*************** +*** 1588,1593 **** +--- 1595,1602 ---- + /* \%[abc]: Emit as a list of branches, all ending at the last + * branch which matches nothing. */ + case '[': ++ if (one_exactly) /* doesn't nest */ ++ EMSG_ONE_RET_NULL; + { + char_u *lastbranch; + char_u *lastnode = NULL; +*** ../vim60.46/src/version.c Wed Oct 31 14:21:02 2001 +--- src/version.c Wed Oct 31 14:52:47 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 47, + /**/ + +-- +It is illegal to take more than three sips of beer at a time while standing. + [real standing law in Texas, United States of America] + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.049 b/app-editors/vim/files/6.0.049 new file mode 100644 index 000000000000..5ece9bf51df5 --- /dev/null +++ b/app-editors/vim/files/6.0.049 @@ -0,0 +1,146 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.049 +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 6.0.049 +Problem: When using evim the intro screen is misleading. (Adrian Nagle) +Solution: Mention whether 'insertmode' is set and the menus to be used. +Files: runtime/menu.vim, src/version.c + + +*** ../vim60.48/runtime/menu.vim Tue Oct 30 21:41:46 2001 +--- runtime/menu.vim Wed Oct 31 16:47:20 2001 +*************** +*** 54,64 **** + amenu 9999.10 &Help.&Overview<Tab><F1> :help<CR> + amenu 9999.20 &Help.&User\ Manual :help usr_toc<CR> + amenu 9999.30 &Help.&How-to\ links :help how-to<CR> +! amenu 9999.40 &Help.&GUI :help gui<CR> + amenu 9999.50 &Help.&Credits :help credits<CR> +! amenu 9999.60 &Help.Co&pying :help uganda<CR> +! amenu <silent> 9999.70 &Help.&Find\.\.\. :call <SID>Helpfind()<CR> +! amenu 9999.75 &Help.-sep- <nul> + amenu 9999.80 &Help.&Version :version<CR> + amenu 9999.90 &Help.&About :intro<CR> + +--- 54,65 ---- + amenu 9999.10 &Help.&Overview<Tab><F1> :help<CR> + amenu 9999.20 &Help.&User\ Manual :help usr_toc<CR> + amenu 9999.30 &Help.&How-to\ links :help how-to<CR> +! amenu <silent> 9999.40 &Help.&Find\.\.\. :call <SID>Helpfind()<CR> +! amenu 9999.45 &Help.-sep1- <nul> + amenu 9999.50 &Help.&Credits :help credits<CR> +! amenu 9999.60 &Help.Co&pying :help copying<CR> +! amenu 9999.70 &Help.O&rphans :help iccf<CR> +! amenu 9999.75 &Help.-sep2- <nul> + amenu 9999.80 &Help.&Version :version<CR> + amenu 9999.90 &Help.&About :intro<CR> + +*************** +*** 171,176 **** +--- 189,195 ---- + amenu 20.440.130.70 &Edit.&Global\ Settings.&Virtual\ Edit.Block\ and\ Insert :set ve=block,insert<CR> + amenu 20.440.130.80 &Edit.&Global\ Settings.&Virtual\ Edit.Always :set ve=all<CR> + amenu 20.440.140 &Edit.&Global\ Settings.Toggle\ Insert\ &Mode<Tab>:set\ im! :set im!<CR> ++ amenu 20.440.145 &Edit.&Global\ Settings.Toggle\ Vi\ C&ompatible<Tab>:set\ cp! :set cp!<CR> + amenu <silent> 20.440.150 &Edit.&Global\ Settings.Search\ &Path\.\.\. :call <SID>SearchP()<CR> + amenu <silent> 20.440.160 &Edit.&Global\ Settings.Ta&g\ Files\.\.\. :call <SID>TagFiles()<CR> + " +*** ../vim60.48/src/version.c Wed Oct 31 15:20:56 2001 +--- src/version.c Wed Oct 31 17:43:13 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 49, + /**/ +*************** +*** 1025,1030 **** +--- 1027,1033 ---- + int i; + int row; + int blanklines; ++ char_u *p; + static char *(lines[]) = + { + N_("VIM - Vi IMproved"), +*************** +*** 1045,1050 **** +--- 1048,1075 ---- + N_("type :set nocp<Enter> for Vim defaults"), + N_("type :help cp-default<Enter> for info on this"), + }; ++ #ifdef FEAT_GUI ++ static char *(gui_lines[]) = ++ { ++ NULL, ++ NULL, ++ NULL, ++ NULL, ++ NULL, ++ NULL, ++ NULL, ++ N_("menu Help->Orphans for information "), ++ NULL, ++ N_("Running modeless, typed text is inserted"), ++ N_("menu Edit->Global Settings->Toggle Insert Mode "), ++ N_(" for two modes "), ++ NULL, ++ NULL, ++ NULL, ++ N_("menu Edit->Global Settings->Toggle Vi Compatible"), ++ N_(" for Vim defaults "), ++ }; ++ #endif + + /* blanklines = screen height - # message lines */ + blanklines = (int)Rows - ((sizeof(lines) / sizeof(char *)) - 1); +*************** +*** 1069,1082 **** + { + for (i = 0; i < (int)(sizeof(lines) / sizeof(char *)); ++i) + { +! if (lines[i] == NULL) + { + if (!p_cp) + break; + continue; + } +! if (*lines[i] != NUL) +! do_intro_line(row, (char_u *)_(lines[i]), i == 2, 0); + ++row; + } + #if defined(WIN3264) && !defined(FEAT_GUI_W32) +--- 1094,1112 ---- + { + for (i = 0; i < (int)(sizeof(lines) / sizeof(char *)); ++i) + { +! p = lines[i]; +! #ifdef FEAT_GUI +! if (p_im && gui.in_use && gui_lines[i] != NULL) +! p = gui_lines[i]; +! #endif +! if (p == NULL) + { + if (!p_cp) + break; + continue; + } +! if (*p != NUL) +! do_intro_line(row, (char_u *)_(p), i == 2, 0); + ++row; + } + #if defined(WIN3264) && !defined(FEAT_GUI_W32) + +-- +Living on Earth includes an annual free trip around the Sun. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.050 b/app-editors/vim/files/6.0.050 new file mode 100644 index 000000000000..fdfb474b673a --- /dev/null +++ b/app-editors/vim/files/6.0.050 @@ -0,0 +1,57 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.050 (corrected version) +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 6.0.050 +Problem: UTF-8: "viw" doesn't include non-ASCII characters before the + cursor. (Bertilo Wennergren) +Solution: Use dec_cursor() instead of decrementing the column number. +Files: src/search.c + + +*** ../vim60.49/src/search.c Fri Sep 14 22:26:10 2001 +--- src/search.c Wed Oct 31 20:13:15 2001 +*************** +*** 2604,2613 **** + { + if (curwin->w_cursor.col == 0) /* stop at start of line */ + break; +! --curwin->w_cursor.col; + if (cls() != sclass) /* stop at start of word */ + { +! ++curwin->w_cursor.col; + break; + } + } +--- 2604,2613 ---- + { + if (curwin->w_cursor.col == 0) /* stop at start of line */ + break; +! dec_cursor(); + if (cls() != sclass) /* stop at start of word */ + { +! inc_cursor(); + break; + } + } +*** ../vim60.49/src/version.c Wed Oct 31 17:50:48 2001 +--- src/version.c Wed Oct 31 20:14:29 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 50, + /**/ + +-- +Why is "abbreviation" such a long word? + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.051 b/app-editors/vim/files/6.0.051 new file mode 100644 index 000000000000..7b39abdb9942 --- /dev/null +++ b/app-editors/vim/files/6.0.051 @@ -0,0 +1,80 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.051 +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 6.0.051 +Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing + characters. (Ron Aaron) +Solution: Also include the composing characters and fix redrawing them. +Files: src/ex_getln.c, src/ops.c + + +*** ../vim60.50/src/ex_getln.c Wed Sep 19 20:02:13 2001 +--- src/ex_getln.c Wed Oct 31 20:41:56 2001 +*************** +*** 2003,2009 **** + if (c != 0) + { + /* Also backup the cursor position. */ +! c -= ptr2cells(ccline.cmdbuff + ccline.cmdpos); + ccline.cmdspos -= c; + msg_col -= c; + if (msg_col < 0) +--- 2003,2009 ---- + if (c != 0) + { + /* Also backup the cursor position. */ +! c = ptr2cells(ccline.cmdbuff + ccline.cmdpos); + ccline.cmdspos -= c; + msg_col -= c; + if (msg_col < 0) +*** ../vim60.50/src/ops.c Tue Oct 30 14:52:27 2001 +--- src/ops.c Wed Oct 31 20:25:02 2001 +*************** +*** 1372,1378 **** + ++s; + #ifdef FEAT_MBYTE + if (has_mbyte) +! c = mb_ptr2char_adv(&s); + else + #endif + c = *s++; +--- 1372,1381 ---- + ++s; + #ifdef FEAT_MBYTE + if (has_mbyte) +! { +! c = mb_ptr2char(s); +! s += mb_char2len(c); +! } + else + #endif + c = *s++; +*** ../vim60.50/src/version.c Wed Oct 31 20:19:20 2001 +--- src/version.c Wed Oct 31 20:28:54 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 51, + /**/ + +-- +ARTHUR: CHARGE! + [The mighty ARMY charges. Thundering noise of feet. Clatter of coconuts. + Shouts etc. Suddenly there is a wail of a siren and a couple of police + cars roar round in front of the charging ARMY and the POLICE leap out and + stop them. TWO POLICEMAN and the HISTORIAN'S WIFE. Black Marias skid up + behind them.] +HISTORIAN'S WIFE: They're the ones, I'm sure. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.052 b/app-editors/vim/files/6.0.052 new file mode 100644 index 000000000000..a9e76c2ff195 --- /dev/null +++ b/app-editors/vim/files/6.0.052 @@ -0,0 +1,187 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.052 +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 6.0.052 +Problem: The check for rlim_t in patch 6.0.046 does not work on some + systems. (Zdenek Sekera) +Solution: Also look in sys/resource.h for rlim_t. +Files: src/auto/configure, src/configure.in + + +*** ../vim60.51/src/auto/configure Wed Oct 31 14:21:02 2001 +--- src/auto/configure Wed Oct 31 21:57:52 2001 +*************** +*** 5145,5163 **** + + fi + + echo $ac_n "checking for rlim_t""... $ac_c" 1>&6 +! echo "configure:5150: checking for rlim_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then +! echo $ac_n "(cached) $ac_c" 1>&6 + else + cat > conftest.$ac_ext <<EOF +! #line 5155 "configure" + #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS + #include <stdlib.h> + #include <stddef.h> + #endif + EOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then +--- 5145,5169 ---- + + fi + ++ + echo $ac_n "checking for rlim_t""... $ac_c" 1>&6 +! echo "configure:5151: checking for rlim_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then +! echo "$ac_t""(cached) $ac_cv_type_rlim_t" 1>&6 + else + cat > conftest.$ac_ext <<EOF +! #line 5156 "configure" + #include "confdefs.h" ++ + #include <sys/types.h> + #if STDC_HEADERS + #include <stdlib.h> + #include <stddef.h> + #endif ++ #ifdef HAVE_SYS_RESOURCE_H ++ #include <sys/resource.h> ++ #endif ++ + EOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then +*************** +*** 5169,5194 **** + fi + rm -f conftest* + + fi +- echo "$ac_t""$ac_cv_type_rlim_t" 1>&6 + if test $ac_cv_type_rlim_t = no; then + cat >> confdefs.h <<\EOF + #define rlim_t unsigned long + EOF +- + fi + +- + echo $ac_n "checking for stack_t""... $ac_c" 1>&6 +! echo "configure:5184: checking for stack_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then + echo "$ac_t""(cached) $ac_cv_type_stack_t" 1>&6 + else + cat > conftest.$ac_ext <<EOF +! #line 5189 "configure" + #include "confdefs.h" + +- #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS + #include <stdlib.h> +--- 5175,5197 ---- + fi + rm -f conftest* + ++ echo "$ac_t""$ac_cv_type_rlim_t" 1>&6 + fi + if test $ac_cv_type_rlim_t = no; then + cat >> confdefs.h <<\EOF + #define rlim_t unsigned long + EOF + fi + + echo $ac_n "checking for stack_t""... $ac_c" 1>&6 +! echo "configure:5188: checking for stack_t" >&5 + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then + echo "$ac_t""(cached) $ac_cv_type_stack_t" 1>&6 + else + cat > conftest.$ac_ext <<EOF +! #line 5193 "configure" + #include "confdefs.h" + + #include <sys/types.h> + #if STDC_HEADERS + #include <stdlib.h> +*** ../vim60.51/src/configure.in Wed Oct 31 14:21:02 2001 +--- src/configure.in Wed Oct 31 21:57:50 2001 +*************** +*** 1405,1411 **** + AC_HEADER_TIME + AC_CHECK_TYPE(ino_t, long) + AC_CHECK_TYPE(dev_t, unsigned) +! AC_CHECK_TYPE(rlim_t, unsigned long) + + AC_MSG_CHECKING(for stack_t) + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then +--- 1405,1436 ---- + AC_HEADER_TIME + AC_CHECK_TYPE(ino_t, long) + AC_CHECK_TYPE(dev_t, unsigned) +! +! AC_MSG_CHECKING(for rlim_t) +! if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then +! AC_MSG_RESULT([(cached) $ac_cv_type_rlim_t]) +! else +! AC_EGREP_CPP(dnl +! changequote(<<,>>)dnl +! <<(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]>>dnl +! changequote([,]), +! [ +! #include <sys/types.h> +! #if STDC_HEADERS +! #include <stdlib.h> +! #include <stddef.h> +! #endif +! #ifdef HAVE_SYS_RESOURCE_H +! #include <sys/resource.h> +! #endif +! ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no) +! AC_MSG_RESULT($ac_cv_type_rlim_t) +! fi +! if test $ac_cv_type_rlim_t = no; then +! cat >> confdefs.h <<\EOF +! #define rlim_t unsigned long +! EOF +! fi + + AC_MSG_CHECKING(for stack_t) + if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then +*************** +*** 1413,1419 **** + else + AC_EGREP_CPP(stack_t, + [ +- #include "confdefs.h" + #include <sys/types.h> + #if STDC_HEADERS + #include <stdlib.h> +--- 1438,1443 ---- +*** ../vim60.51/src/version.c Wed Oct 31 20:51:33 2001 +--- src/version.c Thu Nov 1 12:02:13 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 52, + /**/ + +-- +Mushrooms always grow in damp places and so they look like umbrellas. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.054 b/app-editors/vim/files/6.0.054 new file mode 100644 index 000000000000..48f17939e63f --- /dev/null +++ b/app-editors/vim/files/6.0.054 @@ -0,0 +1,238 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.054 +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 6.0.054 +Problem: When using mswin.vim, CTRL-V pastes a block of text like it is + normal text. Using CTRL-V in blockwise Visual mode leaves "x" + characters behind. +Solution: Make CTRL-V work as it should. Do the same for the Paste menu + entries. +Files: runtime/menu.vim, runtime/mswin.vim + + +*** ../vim60.53/runtime/menu.vim Wed Oct 31 17:50:48 2001 +--- runtime/menu.vim Wed Oct 31 16:47:20 2001 +*************** +*** 112,119 **** + amenu 10.610 &File.Sa&ve-Exit<Tab>:wqa :confirm wqa<CR> + amenu 10.620 &File.E&xit<Tab>:qa :confirm qa<CR> + +! " Tricky stuff to make pasting work as expected. +! nnoremap <SID>Paste "=@+.'xy'<CR>gPFx"_2x:echo<CR> + + " Edit menu + amenu 20.310 &Edit.&Undo<Tab>u u +--- 112,131 ---- + amenu 10.610 &File.Sa&ve-Exit<Tab>:wqa :confirm wqa<CR> + amenu 10.620 &File.E&xit<Tab>:qa :confirm qa<CR> + +! " Pasting blockwise and linewise selections is not possible in Insert and +! " Visual mode without the +virtualedit feature. They are pasted as if they +! " were characterwise instead. +! if has("virtualedit") +! nnoremap <silent> <SID>Paste :call <SID>Paste()<CR> +! func! <SID>Paste() +! let ove = &ve +! set ve=all +! normal `^"+gPi +! let &ve = ove +! endfunc +! else +! nnoremap <silent> <SID>Paste "=@+.'xy'<CR>gPFx"_2x +! endif + + " Edit menu + amenu 20.310 &Edit.&Undo<Tab>u u +*************** +*** 123,132 **** + vmenu 20.340 &Edit.Cu&t<Tab>"+x "+x + vmenu 20.350 &Edit.&Copy<Tab>"+y "+y + cmenu 20.350 &Edit.&Copy<Tab>"+y <C-Y> +! nmenu 20.360 &Edit.&Paste<Tab>"+P <SID>Paste +! vmenu &Edit.&Paste<Tab>"+P "-cx<Esc><SID>Paste"_x +! imenu &Edit.&Paste<Tab>"+P x<Esc><SID>Paste"_s + cmenu &Edit.&Paste<Tab>"+P <C-R>+ + nmenu 20.370 &Edit.Put\ &Before<Tab>[p [p + imenu &Edit.Put\ &Before<Tab>[p <C-O>[p + nmenu 20.380 &Edit.Put\ &After<Tab>]p ]p +--- 135,149 ---- + vmenu 20.340 &Edit.Cu&t<Tab>"+x "+x + vmenu 20.350 &Edit.&Copy<Tab>"+y "+y + cmenu 20.350 &Edit.&Copy<Tab>"+y <C-Y> +! nmenu 20.360 &Edit.&Paste<Tab>"+P "+gP + cmenu &Edit.&Paste<Tab>"+P <C-R>+ ++ if has("virtualedit") ++ vmenu &Edit.&Paste<Tab>"+P "-c<Esc><SID>Paste ++ imenu &Edit.&Paste<Tab>"+P <Esc><SID>Pastegi ++ else ++ vmenu &Edit.&Paste<Tab>"+P "-c<Esc>gix<Esc><SID>Paste"_x ++ imenu &Edit.&Paste<Tab>"+P x<Esc><SID>Paste"_s ++ endif + nmenu 20.370 &Edit.Put\ &Before<Tab>[p [p + imenu &Edit.Put\ &Before<Tab>[p <C-O>[p + nmenu 20.380 &Edit.Put\ &After<Tab>]p ]p +*************** +*** 689,704 **** + vmenu 1.20 PopUp.Cu&t "+x + vmenu 1.30 PopUp.&Copy "+y + cmenu 1.30 PopUp.&Copy <C-Y> +! nmenu 1.40 PopUp.&Paste <SID>Paste +! vmenu 1.40 PopUp.&Paste "-cx<Esc><SID>Paste"_x +! imenu 1.40 PopUp.&Paste x<Esc><SID>Paste"_s + cmenu 1.40 PopUp.&Paste <C-R>+ + vmenu 1.50 PopUp.&Delete x + amenu 1.55 PopUp.-SEP2- : +! vnoremenu 1.60 PopUp.Select\ Blockwise <C-Q> + anoremenu 1.70 PopUp.Select\ &Word vaw + anoremenu 1.80 PopUp.Select\ &Line V +! anoremenu 1.90 PopUp.Select\ &Block <C-Q> + anoremenu 1.100 PopUp.Select\ &All ggVG + + " The GUI toolbar (for MS-Windows and GTK) +--- 706,726 ---- + vmenu 1.20 PopUp.Cu&t "+x + vmenu 1.30 PopUp.&Copy "+y + cmenu 1.30 PopUp.&Copy <C-Y> +! nmenu 1.40 PopUp.&Paste "+gP + cmenu 1.40 PopUp.&Paste <C-R>+ ++ if has("virtualedit") ++ vmenu 1.40 PopUp.&Paste "-c<Esc><SID>Paste ++ imenu 1.40 PopUp.&Paste <Esc><SID>Pastegi ++ else ++ vmenu 1.40 PopUp.&Paste "-c<Esc>gix<Esc><SID>Paste"_x ++ imenu 1.40 PopUp.&Paste x<Esc><SID>Paste"_s ++ endif + vmenu 1.50 PopUp.&Delete x + amenu 1.55 PopUp.-SEP2- : +! vnoremenu 1.60 PopUp.Select\ Blockwise <C-V> + anoremenu 1.70 PopUp.Select\ &Word vaw + anoremenu 1.80 PopUp.Select\ &Line V +! anoremenu 1.90 PopUp.Select\ &Block <C-V> + anoremenu 1.100 PopUp.Select\ &All ggVG + + " The GUI toolbar (for MS-Windows and GTK) +*************** +*** 725,734 **** + vmenu 1.70 ToolBar.Cut "+x + vmenu 1.80 ToolBar.Copy "+y + cmenu 1.80 ToolBar.Copy <C-Y> +! nmenu 1.90 ToolBar.Paste <SID>Paste +! vmenu ToolBar.Paste "-cx<Esc><SID>Paste"_x +! imenu ToolBar.Paste x<Esc><SID>Paste"_s + cmenu ToolBar.Paste <C-R>+ + + if !has("gui_athena") + amenu 1.95 ToolBar.-sep3- <nul> +--- 747,761 ---- + vmenu 1.70 ToolBar.Cut "+x + vmenu 1.80 ToolBar.Copy "+y + cmenu 1.80 ToolBar.Copy <C-Y> +! nmenu 1.90 ToolBar.Paste "+gP + cmenu ToolBar.Paste <C-R>+ ++ if has("virtualedit") ++ vmenu ToolBar.Paste "-c<Esc><SID>Paste ++ imenu ToolBar.Paste <Esc><SID>Pastegi ++ else ++ vmenu ToolBar.Paste "-c<Esc>gix<Esc><SID>Paste"_x ++ imenu ToolBar.Paste x<Esc><SID>Paste"_s ++ endif + + if !has("gui_athena") + amenu 1.95 ToolBar.-sep3- <nul> +*** ../vim60.53/runtime/mswin.vim Thu Aug 23 13:50:05 2001 +--- runtime/mswin.vim Tue Oct 30 14:41:41 2001 +*************** +*** 1,7 **** + " Set options and add mapping such that Vim behaves a lot like MS-Windows + " + " Maintainer: Bram Moolenaar <Bram@vim.org> +! " Last change: 2001 Aug 23 + + " set the 'cpoptions' to its Vim default + if 1 " only do this when compiled with expression evaluation +--- 1,7 ---- + " Set options and add mapping such that Vim behaves a lot like MS-Windows + " + " Maintainer: Bram Moolenaar <Bram@vim.org> +! " Last change: 2001 Oct 30 + + " set the 'cpoptions' to its Vim default + if 1 " only do this when compiled with expression evaluation +*************** +*** 27,44 **** + vnoremap <C-Insert> "+y + + " CTRL-V and SHIFT-Insert are Paste +! nnoremap <silent> <SID>Paste "=@+.'xy'<CR>gPFx"_2x +! map <C-V> <SID>Paste +! map <S-Insert> <SID>Paste +! +! imap <C-V> x<Esc><SID>Paste"_s +! imap <S-Insert> x<Esc><SID>Paste"_s + + cmap <C-V> <C-R>+ + cmap <S-Insert> <C-R>+ + +! vmap <C-V> "-cx<Esc><SID>Paste"_x +! vmap <S-Insert> "-cx<Esc><SID>Paste"_x + + " Use CTRL-Q to do what CTRL-V used to do + noremap <C-Q> <C-V> +--- 27,58 ---- + vnoremap <C-Insert> "+y + + " CTRL-V and SHIFT-Insert are Paste +! map <C-V> "+gP +! map <S-Insert> "+gP + + cmap <C-V> <C-R>+ + cmap <S-Insert> <C-R>+ + +! " Pasting blockwise and linewise selections is not possible in Insert and +! " Visual mode without the +virtualedit feature. They are pasted as if they +! " were characterwise instead. +! if has("virtualedit") +! nnoremap <silent> <SID>Paste :call <SID>Paste()<CR> +! func! <SID>Paste() +! let ove = &ve +! set ve=all +! normal `^"+gPi +! let &ve = ove +! endfunc +! imap <C-V> <Esc><SID>Pastegi +! vmap <C-V> "-c<Esc><SID>Paste +! else +! nnoremap <silent> <SID>Paste "=@+.'xy'<CR>gPFx"_2x +! imap <C-V> x<Esc><SID>Paste"_s +! vmap <C-V> "-c<Esc>gix<Esc><SID>Paste"_x +! endif +! imap <S-Insert> <C-V> +! vmap <S-Insert> <C-V> + + " Use CTRL-Q to do what CTRL-V used to do + noremap <C-Q> <C-V> +*** ../vim60.53/src/version.c Thu Nov 1 12:22:41 2001 +--- src/version.c Thu Nov 1 14:29:48 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 54, + /**/ + +-- +SUPERIMPOSE "England AD 787". After a few more seconds we hear hoofbeats in +the distance. They come slowly closer. Then out of the mist comes KING +ARTHUR followed by a SERVANT who is banging two half coconuts together. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.055 b/app-editors/vim/files/6.0.055 new file mode 100644 index 000000000000..f808ad9e3928 --- /dev/null +++ b/app-editors/vim/files/6.0.055 @@ -0,0 +1,139 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.055 +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 6.0.055 +Problem: GTK: The selection isn't copied the first time. +Solution: Own the selection at the right moment. +Files: src/gui_gtk_x11.c + + +*** ../vim60.54/src/gui_gtk_x11.c Thu Oct 25 10:20:46 2001 +--- src/gui_gtk_x11.c Thu Nov 1 14:14:30 2001 +*************** +*** 871,877 **** + * Selection handlers: + */ + +- + /*ARGSUSED*/ + static gint + selection_clear_event(GtkWidget * widget, GdkEventSelection * event) +--- 871,876 ---- +*************** +*** 3521,3563 **** + } + } + + void + clip_mch_lose_selection(cbd) + VimClipboard *cbd; + { +! gtk_selection_owner_set(gui.drawarea, cbd->gtk_sel_atom, +! (guint32)GDK_CURRENT_TIME); + gui_mch_update(); + } + + /* +! * Check whatever we allready own the selection. + */ + int + clip_mch_own_selection(cbd) + VimClipboard *cbd; + { +! if (cbd == &clip_star) +! { +! /* At this point we always already own the selection - apparently */ + return OK; +! } +! else +! { +! return gdk_selection_owner_get(clip_plus.gtk_sel_atom) == gui.drawarea->window; +! } + } + + /* +! * Send the current selection to the clipboard. + */ + void + clip_mch_set_selection(cbd) + VimClipboard* cbd; + { +- gtk_selection_owner_set(gui.drawarea, cbd->gtk_sel_atom, +- (guint32)GDK_CURRENT_TIME); +- gui_mch_update(); + } + + +--- 3520,3565 ---- + } + } + ++ /* ++ * Disown the selection. ++ */ + void + clip_mch_lose_selection(cbd) + VimClipboard *cbd; + { +! /* WEIRD: when using NULL to actually disown the selection, we lose the +! * selection the first time we own it. */ +! /* +! gtk_selection_owner_set(NULL, cbd->gtk_sel_atom, (guint32)GDK_CURRENT_TIME); + gui_mch_update(); ++ */ + } + + /* +! * Own the selection and return OK if it worked. + */ + int + clip_mch_own_selection(cbd) + VimClipboard *cbd; + { +! int r; +! +! r = gtk_selection_owner_set(gui.drawarea, cbd->gtk_sel_atom, +! (guint32)GDK_CURRENT_TIME); +! gui_mch_update(); +! if (r) + return OK; +! return FAIL; + } + + /* +! * Send the current selection to the clipboard. Do nothing for X because we +! * will fill in the selection only when requested by another app. + */ + void + clip_mch_set_selection(cbd) + VimClipboard* cbd; + { + } + + +*** ../vim60.54/src/version.c Thu Nov 1 14:37:02 2001 +--- src/version.c Thu Nov 1 14:38:27 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 55, + /**/ + +-- +ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot. + King of all Britons, defeator of the Saxons, sovereign of all England! + [Pause] +SOLDIER: Get away! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.056 b/app-editors/vim/files/6.0.056 new file mode 100644 index 000000000000..f54a7cc5327b --- /dev/null +++ b/app-editors/vim/files/6.0.056 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.056 +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 6.0.056 +Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode. + <Esc> doesn't leave Insert mode then. +Solution: Only use nested Insert mode when 'insertmode' is set or when a + mapping is used. +Files: src/normal.c + + +*** ../vim60.55/src/normal.c Wed Oct 31 11:56:35 2001 +--- src/normal.c Wed Oct 31 11:51:54 2001 +*************** +*** 1730,1737 **** + { + /* This is a new edit command, not a restart. Need to + * remember it to make 'insertmode' work with mappings for +! * Visual mode. But do this only once. */ +! restart_edit_save = restart_edit; + restart_edit = 0; + if (op_change(oap)) /* will call edit() */ + cap->retval |= CA_COMMAND_BUSY; +--- 1729,1740 ---- + { + /* This is a new edit command, not a restart. Need to + * remember it to make 'insertmode' work with mappings for +! * Visual mode. But do this only once and not when typed and +! * 'insertmode' isn't set. */ +! if (p_im || !KeyTyped) +! restart_edit_save = restart_edit; +! else +! restart_edit_save = 0; + restart_edit = 0; + if (op_change(oap)) /* will call edit() */ + cap->retval |= CA_COMMAND_BUSY; +*** ../vim60.55/src/version.c Thu Nov 1 14:41:29 2001 +--- src/version.c Thu Nov 1 14:43:11 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 56, + /**/ + +-- +The problem with political jokes is that they get elected. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.057 b/app-editors/vim/files/6.0.057 new file mode 100644 index 000000000000..e413458c4e3f --- /dev/null +++ b/app-editors/vim/files/6.0.057 @@ -0,0 +1,109 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.057 +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 6.0.057 +Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway) +Solution: Execute the command directly, instead of putting it in the + typeahead buffer. +Files: src/normal.c, src/proto/normal.pro, src/window.c + + +*** ../vim60.56/src/normal.c Thu Nov 1 14:44:27 2001 +--- src/normal.c Wed Oct 31 11:51:54 2001 +*************** +*** 80,86 **** + static void nv_ctrlo __ARGS((cmdarg_T *cap)); + static void nv_hat __ARGS((cmdarg_T *cap)); + static void nv_Zet __ARGS((cmdarg_T *cap)); +- static void nv_ident __ARGS((cmdarg_T *cap)); + #ifdef FEAT_VISUAL + static int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp)); + #endif +--- 80,85 ---- +*************** +*** 4546,4552 **** + * [g] '#' ? to current identifier or string + * g ']' :tselect for current identifier + */ +! static void + nv_ident(cap) + cmdarg_T *cap; + { +--- 4545,4551 ---- + * [g] '#' ? to current identifier or string + * g ']' :tselect for current identifier + */ +! void + nv_ident(cap) + cmdarg_T *cap; + { +*** ../vim60.56/src/proto/normal.pro Tue Sep 25 21:49:21 2001 +--- src/proto/normal.pro Tue Oct 23 21:19:27 2001 +*************** +*** 16,21 **** +--- 16,22 ---- + void do_check_scrollbind __ARGS((int check)); + void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff)); + void scroll_redraw __ARGS((int up, long count)); ++ void nv_ident __ARGS((cmdarg_T *cap)); + void start_selection __ARGS((void)); + void may_start_select __ARGS((int c)); + /* vim: set ft=c : */ +*** ../vim60.56/src/window.c Fri Sep 14 21:55:06 2001 +--- src/window.c Tue Oct 23 21:17:35 2001 +*************** +*** 526,533 **** + postponed_split = Prenum; + else + postponed_split = -1; +! stuffcharReadbuff('g'); +! stuffcharReadbuff(xchar); + break; + + default: +--- 526,545 ---- + postponed_split = Prenum; + else + postponed_split = -1; +! +! /* Execute the command right here, required when +! * "wincmd g}" was used in a function. */ +! { +! oparg_T oa; +! cmdarg_T ca; +! +! clear_oparg(&oa); +! vim_memset(&ca, 0, sizeof(ca)); +! ca.oap = &oa; +! ca.cmdchar = 'g'; +! ca.nchar = xchar; +! nv_ident(&ca); +! } + break; + + default: +*** ../vim60.56/src/version.c Thu Nov 1 14:44:27 2001 +--- src/version.c Thu Nov 1 14:49:56 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 57, + /**/ + +-- +SOLDIER: What? Ridden on a horse? +ARTHUR: Yes! +SOLDIER: You're using coconuts! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.058 b/app-editors/vim/files/6.0.058 new file mode 100644 index 000000000000..956cdd59fa08 --- /dev/null +++ b/app-editors/vim/files/6.0.058 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.058 +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 6.0.058 +Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't + updated. (Bohdan Vlasyuk) +Solution: Update the ruler after executing the autocommands. +Files: src/gui.c + + +*** ../vim60.57/src/gui.c Fri Sep 28 17:48:07 2001 +--- src/gui.c Sat Sep 29 17:17:40 2001 +*************** +*** 2374,2379 **** +--- 2374,2381 ---- + { + apply_autocmds(EVENT_CURSORHOLD, NULL, NULL, FALSE, curbuf); + update_screen(VALID); ++ showruler(FALSE); ++ setcursor(); + + once_already = 1; + retval = 0; +*** ../vim60.57/src/version.c Thu Nov 1 14:51:27 2001 +--- src/version.c Thu Nov 1 14:55:18 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 58, + /**/ + +-- +SOLDIER: Where did you get the coconuts? +ARTHUR: Through ... We found them. +SOLDIER: Found them? In Mercea. The coconut's tropical! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.059 b/app-editors/vim/files/6.0.059 new file mode 100644 index 000000000000..f438f4cf6fbf --- /dev/null +++ b/app-editors/vim/files/6.0.059 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.059 +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 6.0.059 +Problem: Highlighting for 'hlsearch' isn't visible in lines that are + highlighted for diff highlighting. (Gary Holloway) +Solution: Let 'hlsearch' highlighting overrule diff highlighting. +Files: src/screen.c + + +*** ../vim60.58/src/screen.c Mon Oct 29 14:40:42 2001 +--- src/screen.c Mon Oct 29 14:36:57 2001 +*************** +*** 3072,3078 **** + if (attr == 0 || area_attr != attr) + area_attr = diff_attr; + if (attr == 0 || char_attr != attr) +! char_attr = diff_attr; + } + #endif + } +--- 3072,3083 ---- + if (attr == 0 || area_attr != attr) + area_attr = diff_attr; + if (attr == 0 || char_attr != attr) +! { +! if (search_attr != 0) +! char_attr = search_attr; +! else +! char_attr = diff_attr; +! } + } + #endif + } +*** ../vim60.58/src/version.c Thu Nov 1 14:56:27 2001 +--- src/version.c Thu Nov 1 14:58:21 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 59, + /**/ + +-- +ARTHUR: The swallow may fly south with the sun, or the house martin or the + plover seek warmer hot lands in winter, yet these are not strangers to + our land. +SOLDIER: Are you suggesting coconuts migrate? + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.060 b/app-editors/vim/files/6.0.060 new file mode 100644 index 000000000000..9455e64e98ed --- /dev/null +++ b/app-editors/vim/files/6.0.060 @@ -0,0 +1,68 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.060 +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 6.0.060 +Problem: Motif: When the tooltip is to be popped up, Vim crashes. + (Gary Holloway) +Solution: Check for a NULL return value from gui_motif_fontset2fontlist(). +Files: src/gui_beval.c + + +*** ../vim60.59/src/gui_beval.c Thu Sep 13 21:09:25 2001 +--- src/gui_beval.c Wed Oct 24 14:12:09 2001 +*************** +*** 148,154 **** + { + win_T *wp; + int row, col; +- int i; + char_u *lbuf; + linenr_T lnum; + +--- 148,153 ---- +*************** +*** 431,438 **** + XmFontList fl; + + fl = gui_motif_fontset2fontlist(&gui.tooltip_fontset); +! XmStringExtent(fl, s, &w, &h); +! XmFontListFree(fl); + } + w += gui.border_offset << 1; + h += gui.border_offset << 1; +--- 430,440 ---- + XmFontList fl; + + fl = gui_motif_fontset2fontlist(&gui.tooltip_fontset); +! if (fl != NULL) +! { +! XmStringExtent(fl, s, &w, &h); +! XmFontListFree(fl); +! } + } + w += gui.border_offset << 1; + h += gui.border_offset << 1; +*** ../vim60.59/src/version.c Thu Nov 1 14:59:19 2001 +--- src/version.c Thu Nov 1 15:02:52 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 60, + /**/ + +-- +SOLDIER: What? A swallow carrying a coconut? +ARTHUR: It could grip it by the husk ... + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.061 b/app-editors/vim/files/6.0.061 new file mode 100644 index 000000000000..23c2beb29afc --- /dev/null +++ b/app-editors/vim/files/6.0.061 @@ -0,0 +1,80 @@ +To: vim-dev@vim.org +Subject: Patch 6.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 6.0.061 +Problem: The toolbar buttons to load and save a session do not correctly + use v:this_session. +Solution: Check for v:this_session to be empty instead of existing. +Files: runtime/menu.vim + + +*** ../vim60.60/runtime/menu.vim Thu Nov 1 14:37:02 2001 +--- runtime/menu.vim Wed Oct 31 16:47:20 2001 +*************** +*** 839,858 **** + + " Select a session to load; default to current session name if present + fun! s:LoadVimSesn() +! if exists("this_session") +! let name = this_session + else +! let name = "session.vim" + endif + execute "browse so " . name + endfun + + " Select a session to save; default to current session name if present + fun! s:SaveVimSesn() +! if !exists("this_session") +! let this_session = "session.vim" + endif +! execute "browse mksession! " . this_session + endfun + + endif +--- 839,858 ---- + + " Select a session to load; default to current session name if present + fun! s:LoadVimSesn() +! if strlen(v:this_session) > 0 +! let name = v:this_session + else +! let name = "Session.vim" + endif + execute "browse so " . name + endfun + + " Select a session to save; default to current session name if present + fun! s:SaveVimSesn() +! if strlen(v:this_session) == 0 +! let v:this_session = "Session.vim" + endif +! execute "browse mksession! " . v:this_session + endfun + + endif +*** ../vim60.60/src/version.c Thu Nov 1 15:03:42 2001 +--- src/version.c Thu Nov 1 15:21:01 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 61, + /**/ + +-- +SECOND SOLDIER: It could be carried by an African swallow! +FIRST SOLDIER: Oh yes! An African swallow maybe ... but not a European + swallow. that's my point. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.062 b/app-editors/vim/files/6.0.062 new file mode 100644 index 000000000000..1ecb7ead3259 --- /dev/null +++ b/app-editors/vim/files/6.0.062 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.062 +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 6.0.062 +Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan + Lakshmanan) +Solution: Avoid giving a NULL pointer to printf(). Also output a newline + and switch the cursor on. +Files: src/misc2.c + + +*** ../vim60.61/src/misc2.c Thu Nov 1 12:22:41 2001 +--- src/misc2.c Thu Nov 1 20:22:01 2001 +*************** +*** 2509,2515 **** + int retval; + + if (p_verbose > 3) +! smsg((char_u *)_("Calling shell to execute: \"%s\""), cmd); + + if (*p_sh == NUL) + { +--- 2509,2520 ---- + int retval; + + if (p_verbose > 3) +! { +! smsg((char_u *)_("Calling shell to execute: \"%s\""), +! cmd == NULL ? p_sh : cmd); +! out_char('\n'); +! cursor_on(); +! } + + if (*p_sh == NUL) + { +*** ../vim60.61/src/version.c Thu Nov 1 15:22:32 2001 +--- src/version.c Thu Nov 1 20:24:23 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 62, + /**/ + +-- +ARTHUR: I've said I'm sorry about the old woman, but from the behind you + looked ... +DENNIS: What I object to is that you automatically treat me like an inferior... +ARTHUR: Well ... I AM king. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.063 b/app-editors/vim/files/6.0.063 new file mode 100644 index 000000000000..68a22d14698b --- /dev/null +++ b/app-editors/vim/files/6.0.063 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.063 +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 6.0.063 +Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of + the "$" doesn't update syntax highlighting after it. +Solution: Stop displaying the "$" when typing a ')' in its position. +Files: src/search.c + + +*** ../vim60.62/src/search.c Wed Oct 31 20:17:35 2001 +--- src/search.c Thu Nov 1 21:20:39 2001 +*************** +*** 1987,1994 **** + mpos = *lpos; /* save the pos, update_screen() may change it */ + save_cursor = curwin->w_cursor; + save_so = p_so; +! ++curwin->w_virtcol; /* for when 'cpo' contains '$': do +! redraw the ')' */ + update_screen(VALID); /* show the new char first */ + + #ifdef CURSOR_SHAPE +--- 1987,1997 ---- + mpos = *lpos; /* save the pos, update_screen() may change it */ + save_cursor = curwin->w_cursor; + save_so = p_so; +! /* Handle "$" in 'cpo': If the ')' is typed on top of the "$", +! * stop displaying the "$". */ +! if (dollar_vcol > 0 && dollar_vcol == curwin->w_virtcol) +! dollar_vcol = 0; +! ++curwin->w_virtcol; /* do display ')' just before "$" */ + update_screen(VALID); /* show the new char first */ + + #ifdef CURSOR_SHAPE +*** ../vim60.62/src/version.c Thu Nov 1 21:25:14 2001 +--- src/version.c Thu Nov 1 21:23:28 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 63, + /**/ + +-- +OLD WOMAN: King of the WHO? +ARTHUR: The Britons. +OLD WOMAN: Who are the Britons? + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.065 b/app-editors/vim/files/6.0.065 new file mode 100644 index 000000000000..dd4f14ce4414 --- /dev/null +++ b/app-editors/vim/files/6.0.065 @@ -0,0 +1,164 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.065 +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 6.0.065 +Problem: When using ":normal" in 'indentexpr' it may use redo characters + before its argument. (Neil Bird) +Solution: Save and restore the stuff buffer in ex_normal(). +Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h + + +*** ../vim60.64/src/ex_docmd.c Tue Oct 30 21:18:36 2001 +--- src/ex_docmd.c Fri Nov 2 16:14:07 2001 +*************** +*** 6805,6810 **** +--- 6805,6811 ---- + typebuf_T saved_typebuf; + int save_insertmode = p_im; + int save_finish_op = finish_op; ++ struct buffheader save_stuffbuff; + #ifdef FEAT_MBYTE + char_u *arg = NULL; + int l; +*************** +*** 6894,6899 **** +--- 6895,6904 ---- + saved_typebuf = typebuf; + if (alloc_typebuf() == OK) + { ++ /* Also save the stuff buffer and make it empty. */ ++ save_stuffbuff = stuffbuff; ++ stuffbuff.bh_first.b_next = NULL; ++ + /* + * Repeat the :normal command for each line in the range. When no + * range given, execute it just once, without positioning the cursor +*************** +*** 6927,6932 **** +--- 6932,6939 ---- + } + } + while (eap->addr_count > 0 && eap->line1 <= eap->line2 && !got_int); ++ ++ stuffbuff = save_stuffbuff; + } + + /* Might not return to the main loop when in an event handler. */ +*** ../vim60.64/src/getchar.c Sun Oct 28 21:23:45 2001 +--- src/getchar.c Fri Nov 2 16:23:29 2001 +*************** +*** 38,66 **** + * Un-escaping is done by vgetc(). + */ + +- /* +- * structure used to store one block of the stuff/redo/recording buffers +- */ +- struct buffblock +- { +- struct buffblock *b_next; /* pointer to next buffblock */ +- char_u b_str[1]; /* contents (actually longer) */ +- }; +- + #define MINIMAL_SIZE 20 /* minimal size for b_str */ + +- /* +- * header used for the stuff buffer and the redo buffer +- */ +- struct buffheader +- { +- struct buffblock bh_first; /* first (dummy) block of list */ +- struct buffblock *bh_curr; /* buffblock for appending */ +- int bh_index; /* index for reading */ +- int bh_space; /* space in bh_curr for appending */ +- }; +- +- static struct buffheader stuffbuff = {{NULL, {NUL}}, NULL, 0, 0}; + static struct buffheader redobuff = {{NULL, {NUL}}, NULL, 0, 0}; + static struct buffheader old_redobuff = {{NULL, {NUL}}, NULL, 0, 0}; + #if defined(FEAT_AUTOCMD) || defined(FEAT_EVAL) || defined(PROTO) +--- 38,45 ---- +*** ../vim60.64/src/globals.h Sun Oct 28 21:23:45 2001 +--- src/globals.h Fri Nov 2 16:07:27 2001 +*************** +*** 693,702 **** + EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */ + EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */ + + EXTERN typebuf_T typebuf /* typeahead buffer */ +! # ifdef DO_INIT + = {NULL, NULL} +! # endif + ; + #ifdef FEAT_EX_EXTRA + EXTERN int ex_normal_busy INIT(= 0); /* recursivenes of ex_normal() */ +--- 693,707 ---- + EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */ + EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */ + ++ EXTERN struct buffheader stuffbuff /* stuff buffer */ ++ #ifdef DO_INIT ++ = {{NULL, {NUL}}, NULL, 0, 0} ++ #endif ++ ; + EXTERN typebuf_T typebuf /* typeahead buffer */ +! #ifdef DO_INIT + = {NULL, NULL} +! #endif + ; + #ifdef FEAT_EX_EXTRA + EXTERN int ex_normal_busy INIT(= 0); /* recursivenes of ex_normal() */ +*** ../vim60.64/src/structs.h Wed Oct 31 11:17:27 2001 +--- src/structs.h Fri Nov 2 16:23:11 2001 +*************** +*** 338,343 **** +--- 338,363 ---- + }; + + /* ++ * structure used to store one block of the stuff/redo/recording buffers ++ */ ++ struct buffblock ++ { ++ struct buffblock *b_next; /* pointer to next buffblock */ ++ char_u b_str[1]; /* contents (actually longer) */ ++ }; ++ ++ /* ++ * header used for the stuff buffer and the redo buffer ++ */ ++ struct buffheader ++ { ++ struct buffblock bh_first; /* first (dummy) block of list */ ++ struct buffblock *bh_curr; /* buffblock for appending */ ++ int bh_index; /* index for reading */ ++ int bh_space; /* space in bh_curr for appending */ ++ }; ++ ++ /* + * used for completion on the command line + */ + typedef struct expand +*** ../vim60.64/src/version.c Fri Nov 2 16:20:26 2001 +--- src/version.c Fri Nov 2 16:19:23 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 65, + /**/ + +-- +FIRST VILLAGER: We have found a witch. May we burn her? + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.066 b/app-editors/vim/files/6.0.066 new file mode 100644 index 000000000000..e3fc02a51426 --- /dev/null +++ b/app-editors/vim/files/6.0.066 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.066 +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 6.0.066 +Problem: Sometimes undo for one command is split into two undo actions. + (Halim Salman) +Solution: Don't set the undo-synced flag when reusing a line that was + already saved for undo. +Files: src/undo.c + + +*** ../vim60.65/src/undo.c Sun Oct 28 21:15:32 2001 +--- src/undo.c Sat Nov 3 13:37:08 2001 +*************** +*** 279,285 **** +--- 279,288 ---- + * entry now. Following deleted/inserted lines go to the + * re-used entry. */ + if (i > 0) ++ { + u_getbot(); ++ curbuf->b_u_synced = FALSE; ++ } + + /* The line count might change afterwards. */ + if (newbot != 0) +*** ../vim60.65/src/version.c Fri Nov 2 16:29:44 2001 +--- src/version.c Sat Nov 3 13:40:49 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 66, + /**/ + +-- +The acknowledged parents of reengineering are Michael Hammer and James Champy. +When I say they're the "parents" I don't mean they had sex - and I apologize +for making you think about it. I mean they wrote the best-selling business +book _Reengineering the Corporation_, which was published in 1993. + Businesses flocked to reengineering like frat boys to a drunken +cheerleader. (This analogy wasn't necessary, but I'm trying to get my mind +off that Hammer and Champy thing.) + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.067 b/app-editors/vim/files/6.0.067 new file mode 100644 index 000000000000..39b2381d377e --- /dev/null +++ b/app-editors/vim/files/6.0.067 @@ -0,0 +1,51 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.067 +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 6.0.067 +Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined + in the usual header file (e.g., AIX). (Mark Waggoner) +Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it. +Files: src/if_xcmdsrv.c + + +*** ../vim60.66/src/if_xcmdsrv.c Mon Sep 24 12:02:29 2001 +--- src/if_xcmdsrv.c Sat Nov 3 13:56:56 2001 +*************** +*** 21,26 **** +--- 21,31 ---- + # include <X11/Xatom.h> + # endif + ++ # if defined(HAVE_SYS_SELECT_H) && \ ++ (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) ++ # include <sys/select.h> ++ # endif ++ + /* + * This file provides procedures that implement the command server functionality + * of Vim when in contact with an X11 server. +*** ../vim60.66/src/version.c Sat Nov 3 14:01:26 2001 +--- src/version.c Sat Nov 3 14:01:06 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 67, + /**/ + +-- +An easy way to determine if you have enough teamwork to be doomed is simply to +measure how long it takes from the time you decide to go to lunch together +until the time you actually eat. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.068 b/app-editors/vim/files/6.0.068 new file mode 100644 index 000000000000..b00a3c98aa18 --- /dev/null +++ b/app-editors/vim/files/6.0.068 @@ -0,0 +1,82 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.068 +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 6.0.068 +Problem: When formatting a Visually selected area with "gq" and the number + of lines increases the last line may not be redrawn correctly. + (Yegappan Lakshmanan) +Solution: Correct the area to be redrawn for inserted/deleted lines. +Files: src/ops.c + + +*** ../vim60.67/src/ops.c Wed Oct 31 20:51:33 2001 +--- src/ops.c Sat Nov 3 21:25:47 2001 +*************** +*** 4034,4043 **** + if (oap->end_adjusted && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count) + ++curwin->w_cursor.lnum; + beginline(BL_WHITE | BL_FIX); +! msgmore(curbuf->b_ml.ml_line_count - old_line_count); + + /* put '] mark on the end of the formatted area */ + curbuf->b_op_end = curwin->w_cursor; + } + + /* +--- 4035,4065 ---- + if (oap->end_adjusted && curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count) + ++curwin->w_cursor.lnum; + beginline(BL_WHITE | BL_FIX); +! old_line_count = curbuf->b_ml.ml_line_count - old_line_count; +! msgmore(old_line_count); + + /* put '] mark on the end of the formatted area */ + curbuf->b_op_end = curwin->w_cursor; ++ ++ #ifdef FEAT_VISUAL ++ if (oap->is_VIsual) ++ { ++ win_T *wp; ++ ++ FOR_ALL_WINDOWS(wp) ++ { ++ if (wp->w_old_cursor_lnum != 0) ++ { ++ /* When lines have been inserted or deleted, adjust the end of ++ * the Visual area to be redrawn. */ ++ if (wp->w_old_cursor_lnum > wp->w_old_visual_lnum) ++ wp->w_old_cursor_lnum += old_line_count; ++ else ++ wp->w_old_visual_lnum += old_line_count; ++ } ++ } ++ } ++ #endif + } + + /* +*** ../vim60.67/src/version.c Sat Nov 3 14:16:30 2001 +--- src/version.c Sat Nov 3 21:28:49 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 68, + /**/ + +-- +At some point in the project somebody will start whining about the need to +determine the project "requirements". This involves interviewing people who +don't know what they want but, curiously, know exactly when they need it. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.069 b/app-editors/vim/files/6.0.069 new file mode 100644 index 000000000000..5af6d7c124cd --- /dev/null +++ b/app-editors/vim/files/6.0.069 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.069 +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 6.0.069 +Problem: Using "K" on a word that includes a "!" causes a "No previous + command" error, because the "!" is expanded. (Craig Jeffries) +Solution: Put a backslash before the "!". +Files: src/normal.c + + +*** ../vim60.68/src/normal.c Thu Nov 1 14:51:27 2001 +--- src/normal.c Sun Nov 4 13:07:22 2001 +*************** +*** 4669,4675 **** + if (cmdchar == '*' || cmdchar == '#') + aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); + else if (cmdchar == 'K' && *p_kp != NUL) +! aux_ptr = escape_chars; + else + /* Don't escape spaces and Tabs in a tag with a backslash */ + aux_ptr = (char_u *)"\\|\""; +--- 4669,4675 ---- + if (cmdchar == '*' || cmdchar == '#') + aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); + else if (cmdchar == 'K' && *p_kp != NUL) +! aux_ptr = (char_u *)" \t\\\"|!"; + else + /* Don't escape spaces and Tabs in a tag with a backslash */ + aux_ptr = (char_u *)"\\|\""; +*** ../vim60.68/src/version.c Sun Nov 4 13:15:58 2001 +--- src/version.c Sun Nov 4 13:13:41 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 69, + /**/ + +-- +The budget process was invented by an alien race of sadistic beings who +resemble large cats. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.071 b/app-editors/vim/files/6.0.071 new file mode 100644 index 000000000000..d36251d68923 --- /dev/null +++ b/app-editors/vim/files/6.0.071 @@ -0,0 +1,128 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.071 +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 6.0.071 +Problem: The "iris-ansi" builtin termcap isn't very good. +Solution: Fix the wrong entries. (David Harrison) +Files: src/term.c + + +*** ../vim60.70/src/term.c Mon Oct 22 18:52:01 2001 +--- src/term.c Sun Nov 4 18:42:53 2001 +*************** +*** 1074,1098 **** + # endif + #endif + {(int)KS_CL, "\033[H\033[2J"}, +! {(int)KS_VE, "\033[9/y\033[12/y"}, +! {(int)KS_VS, "\033[10/y\033[=1h\033[=2l"}, + {(int)KS_TI, "\033[=6h"}, + {(int)KS_TE, "\033[=6l"}, +! {(int)KS_SE, "\033[m"}, + {(int)KS_SO, "\033[1;7m"}, + {(int)KS_ME, "\033[m"}, + {(int)KS_MR, "\033[7m"}, + {(int)KS_MD, "\033[1m"}, +- {(int)KS_UE, "\033[m"}, + {(int)KS_CCO, "8"}, /* allow 8 colors */ + # ifdef TERMINFO +! {(int)KS_CAB, "\033[4%p1%dm"}, /* set background color */ +! {(int)KS_CAF, "\033[3%p1%dm"}, /* set foreground color */ + # else +! {(int)KS_CAB, "\033[4%dm"}, /* set background color */ +! {(int)KS_CAF, "\033[3%dm"}, /* set foreground color */ + # endif +- {(int)KS_US, "\033[4m"}, + {(int)KS_MS, "y"}, /* guessed */ + {(int)KS_UT, "y"}, /* guessed */ + {(int)KS_LE, "\010"}, +--- 1074,1104 ---- + # endif + #endif + {(int)KS_CL, "\033[H\033[2J"}, +! {(int)KS_VE, "\033[9/y\033[12/y"}, /* These aren't documented */ +! {(int)KS_VS, "\033[10/y\033[=1h\033[=2l"}, /* These aren't documented */ + {(int)KS_TI, "\033[=6h"}, + {(int)KS_TE, "\033[=6l"}, +! {(int)KS_SE, "\033[21;27m"}, + {(int)KS_SO, "\033[1;7m"}, + {(int)KS_ME, "\033[m"}, + {(int)KS_MR, "\033[7m"}, + {(int)KS_MD, "\033[1m"}, + {(int)KS_CCO, "8"}, /* allow 8 colors */ ++ {(int)KS_CZH, "\033[3m"}, /* italic mode on */ ++ {(int)KS_CZR, "\033[23m"}, /* italic mode off */ ++ {(int)KS_US, "\033[4m"}, /* underline on */ ++ {(int)KS_UE, "\033[24m"}, /* underline off */ + # ifdef TERMINFO +! {(int)KS_CAB, "\033[4%p1%dm"}, /* set background color (ANSI) */ +! {(int)KS_CAF, "\033[3%p1%dm"}, /* set foreground color (ANSI) */ +! {(int)KS_CSB, "\033[102;%p1%dm"}, /* set screen background color */ +! {(int)KS_CSF, "\033[101;%p1%dm"}, /* set screen foreground color */ + # else +! {(int)KS_CAB, "\033[4%dm"}, /* set background color (ANSI) */ +! {(int)KS_CAF, "\033[3%dm"}, /* set foreground color (ANSI) */ +! {(int)KS_CSB, "\033[102;%dm"}, /* set screen background color */ +! {(int)KS_CSF, "\033[101;%dm"}, /* set screen foreground color */ + # endif + {(int)KS_MS, "y"}, /* guessed */ + {(int)KS_UT, "y"}, /* guessed */ + {(int)KS_LE, "\010"}, +*************** +*** 1108,1120 **** + {(int)KS_CRI, "\033[%dC"}, + # endif + {(int)KS_CIS, "\033P3.y"}, +! {(int)KS_CIE, "\234"}, + {(int)KS_TS, "\033P1.y"}, +! {(int)KS_FS, "\234"}, + # ifdef TERMINFO + {(int)KS_CWS, "\033[203;%p1%d;%p2%d/y"}, + # else + {(int)KS_CWS, "\033[203;%d;%d/y"}, + # endif + {K_UP, "\033[A"}, + {K_DOWN, "\033[B"}, +--- 1114,1128 ---- + {(int)KS_CRI, "\033[%dC"}, + # endif + {(int)KS_CIS, "\033P3.y"}, +! {(int)KS_CIE, "\234"}, /* ST "String Terminator" */ + {(int)KS_TS, "\033P1.y"}, +! {(int)KS_FS, "\234"}, /* ST "String Terminator" */ + # ifdef TERMINFO + {(int)KS_CWS, "\033[203;%p1%d;%p2%d/y"}, ++ {(int)KS_CWP, "\033[205;%p1%d;%p2%d/y"}, + # else + {(int)KS_CWS, "\033[203;%d;%d/y"}, ++ {(int)KS_CWP, "\033[205;%d;%d/y"}, + # endif + {K_UP, "\033[A"}, + {K_DOWN, "\033[B"}, +*** ../vim60.70/src/version.c Sun Nov 4 14:31:23 2001 +--- src/version.c Sun Nov 4 18:44:46 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 71, + /**/ + +-- +Engineers are always delighted to share wisdom, even in areas in which they +have no experience whatsoever. Their logic provides them with inherent +insight into any field of expertise. This can be a problem when dealing with +the illogical people who believe that knowledge can only be derived through +experience. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.072 b/app-editors/vim/files/6.0.072 new file mode 100644 index 000000000000..07c29df36746 --- /dev/null +++ b/app-editors/vim/files/6.0.072 @@ -0,0 +1,79 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.072 +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 6.0.072 +Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves + the cursor and starts Visual mode again causes a redraw problem. + (Brian Silverman) +Solution: Redraw both the old and the new Visual area when necessary. +Files: src/normal.c, src/screen.c + + +*** ../vim60.71/src/normal.c Sun Nov 4 13:19:04 2001 +--- src/normal.c Sun Nov 4 19:03:27 2001 +*************** +*** 6491,6499 **** + clip_star.vmode = NUL; + #endif + +! /* Only need to redraw this line. */ +! curwin->w_old_cursor_lnum = curwin->w_cursor.lnum; +! curwin->w_old_visual_lnum = curwin->w_cursor.lnum; + } + + #endif /* FEAT_VISUAL */ +--- 6491,6503 ---- + clip_star.vmode = NUL; + #endif + +! /* Only need to redraw this line, unless still need to redraw an old +! * Visual area (when 'lazyredraw' is set). */ +! if (curwin->w_redr_type < INVERTED) +! { +! curwin->w_old_cursor_lnum = curwin->w_cursor.lnum; +! curwin->w_old_visual_lnum = curwin->w_cursor.lnum; +! } + } + + #endif /* FEAT_VISUAL */ +*** ../vim60.71/src/screen.c Thu Nov 1 14:59:19 2001 +--- src/screen.c Sun Nov 4 19:06:14 2001 +*************** +*** 1171,1176 **** +--- 1171,1180 ---- + from = wp->w_old_cursor_lnum; + if (wp->w_old_cursor_lnum > to) + to = wp->w_old_cursor_lnum; ++ if (wp->w_old_visual_lnum < from) ++ from = wp->w_old_visual_lnum; ++ if (wp->w_old_visual_lnum > to) ++ to = wp->w_old_visual_lnum; + } + else + { +*** ../vim60.71/src/version.c Sun Nov 4 18:45:17 2001 +--- src/version.c Sun Nov 4 19:08:13 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 72, + /**/ + +-- +For humans, honesty is a matter of degree. Engineers are always honest in +matters of technology and human relationships. That's why it's a good idea +to keep engineers away from customers, romantic interests, and other people +who can't handle the thruth. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.074 b/app-editors/vim/files/6.0.074 new file mode 100644 index 000000000000..25106de9ec69 --- /dev/null +++ b/app-editors/vim/files/6.0.074 @@ -0,0 +1,82 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.074 +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 6.0.074 +Problem: When using "&" in a substitute string a multi-byte character with + a trailbyte 0x5c is not handled correctly. +Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro) +Files: src/regexp.c + + +*** ../vim60.73/src/regexp.c Wed Oct 31 15:17:54 2001 +--- src/regexp.c Mon Nov 5 08:46:11 2001 +*************** +*** 5403,5408 **** +--- 5403,5412 ---- + #ifdef FEAT_EVAL + static char_u *eval_result = NULL; + #endif ++ #ifdef FEAT_MBYTE ++ int l; ++ #endif ++ + + /* Be paranoid... */ + if (source == NULL || dest == NULL) +*************** +*** 5482,5491 **** + } + if (no < 0) /* Ordinary character. */ + { +- #ifdef FEAT_MBYTE +- int l; +- #endif +- + if (c == '\\' && *src != NUL) + { + /* Check for abbreviations -- webb */ +--- 5486,5491 ---- +*************** +*** 5606,5611 **** +--- 5606,5622 ---- + } + dst += 2; + } ++ #ifdef FEAT_MBYTE ++ else if (has_mbyte && (l = (*mb_ptr2len_check)(s)) > 1) ++ { ++ /* TODO: should use "func" here. */ ++ if (copy) ++ mch_memmove(dst, s, l); ++ dst += l; ++ s += l - 1; ++ len -= l - 1; ++ } ++ #endif + else + { + if (copy) +*** ../vim60.73/src/version.c Mon Nov 5 08:51:05 2001 +--- src/version.c Mon Nov 5 08:50:40 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 74, + /**/ + +-- +Engineers understand that their appearance only bothers other people and +therefore it is not worth optimizing. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.075 b/app-editors/vim/files/6.0.075 new file mode 100644 index 000000000000..ae6ab4fb66db --- /dev/null +++ b/app-editors/vim/files/6.0.075 @@ -0,0 +1,282 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.075 +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 6.0.075 +Problem: When closing a horizontally split window while 'eadirection' is + "hor" another horizontally split window is still resized. (Aron + Griffis) +Solution: Only resize windows in the same top frame as the window that is + split or closed. +Files: src/main.c, src/proto/window.pro, src/window.c + + +*** ../vim60.74/src/main.c Thu Nov 1 12:22:41 2001 +--- src/main.c Mon Nov 5 09:29:34 2001 +*************** +*** 1716,1722 **** + # endif + TIME_MSG("editing files in windows"); + if (window_count > 1) +! win_equal(curwin, 'b'); /* adjust heights */ + #endif /* FEAT_WINDOWS */ + + #ifdef FEAT_DIFF +--- 1716,1722 ---- + # endif + TIME_MSG("editing files in windows"); + if (window_count > 1) +! win_equal(curwin, FALSE, 'b'); /* adjust heights */ + #endif /* FEAT_WINDOWS */ + + #ifdef FEAT_DIFF +*** ../vim60.74/src/proto/window.pro Tue Sep 25 21:49:27 2001 +--- src/proto/window.pro Mon Nov 5 09:29:09 2001 +*************** +*** 5,11 **** + int win_count __ARGS((void)); + int make_windows __ARGS((int count, int vertical)); + void win_move_after __ARGS((win_T *win1, win_T *win2)); +! void win_equal __ARGS((win_T *next_curwin, int dir)); + void close_windows __ARGS((buf_T *buf)); + void win_close __ARGS((win_T *win, int free_buf)); + void close_others __ARGS((int message, int forceit)); +--- 5,11 ---- + int win_count __ARGS((void)); + int make_windows __ARGS((int count, int vertical)); + void win_move_after __ARGS((win_T *win1, win_T *win2)); +! void win_equal __ARGS((win_T *next_curwin, int current, int dir)); + void close_windows __ARGS((buf_T *buf)); + void win_close __ARGS((win_T *win, int free_buf)); + void close_others __ARGS((int message, int forceit)); +*** ../vim60.74/src/window.c Thu Nov 1 14:51:27 2001 +--- src/window.c Mon Nov 5 09:49:44 2001 +*************** +*** 25,31 **** + static void win_exchange __ARGS((long)); + static void win_rotate __ARGS((int, int)); + static void win_totop __ARGS((int size, int flags)); +! static void win_equal_rec __ARGS((win_T *next_curwin, frame_T *topfr, int dir, int col, int row, int width, int height)); + static win_T *winframe_remove __ARGS((win_T *win, int *dirp)); + static frame_T *win_altframe __ARGS((win_T *win)); + static win_T *frame2win __ARGS((frame_T *frp)); +--- 25,31 ---- + static void win_exchange __ARGS((long)); + static void win_rotate __ARGS((int, int)); + static void win_totop __ARGS((int size, int flags)); +! static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height)); + static win_T *winframe_remove __ARGS((win_T *win, int *dirp)); + static frame_T *win_altframe __ARGS((win_T *win)); + static win_T *frame2win __ARGS((frame_T *frp)); +*************** +*** 367,373 **** + #ifdef FEAT_GUI + need_mouse_correct = TRUE; + #endif +! win_equal(NULL, 0); + break; + + /* increase current window height */ +--- 367,373 ---- + #ifdef FEAT_GUI + need_mouse_correct = TRUE; + #endif +! win_equal(NULL, FALSE, 0); + break; + + /* increase current window height */ +*************** +*** 1015,1021 **** + * make the new window the current window and redraw + */ + if (do_equal || dir != 0) +! win_equal(wp, + #ifdef FEAT_VERTSPLIT + (flags & WSP_VERT) ? (dir == 'v' ? 'b' : 'h') + : dir == 'h' ? 'b' : +--- 1015,1021 ---- + * make the new window the current window and redraw + */ + if (do_equal || dir != 0) +! win_equal(wp, TRUE, + #ifdef FEAT_VERTSPLIT + (flags & WSP_VERT) ? (dir == 'v' ? 'b' : 'h') + : dir == 'h' ? 'b' : +*************** +*** 1485,1492 **** + * rows. + */ + void +! win_equal(next_curwin, dir) + win_T *next_curwin; /* pointer to current window to be or NULL */ + int dir; /* 'v' for vertically, 'h' for horizontally, + 'b' for both, 0 for using p_ead */ + { +--- 1485,1493 ---- + * rows. + */ + void +! win_equal(next_curwin, current, dir) + win_T *next_curwin; /* pointer to current window to be or NULL */ ++ int current; /* do only frame with current window */ + int dir; /* 'v' for vertically, 'h' for horizontally, + 'b' for both, 0 for using p_ead */ + { +*************** +*** 1496,1503 **** + #else + dir = 'b'; + #endif +! win_equal_rec(next_curwin == NULL ? curwin : next_curwin, topframe, dir, +! 0, 0, (int)Columns, topframe->fr_height); + } + + /* +--- 1497,1504 ---- + #else + dir = 'b'; + #endif +! win_equal_rec(next_curwin == NULL ? curwin : next_curwin, current, +! topframe, dir, 0, 0, (int)Columns, topframe->fr_height); + } + + /* +*************** +*** 1507,1514 **** + * 'winheight' and 'winwidth' if possible. + */ + static void +! win_equal_rec(next_curwin, topfr, dir, col, row, width, height) + win_T *next_curwin; /* pointer to current window to be or NULL */ + frame_T *topfr; /* frame to set size off */ + int dir; /* 'v', 'h' or 'b', see win_equal() */ + int col; /* horizontal position for frame */ +--- 1508,1516 ---- + * 'winheight' and 'winwidth' if possible. + */ + static void +! win_equal_rec(next_curwin, current, topfr, dir, col, row, width, height) + win_T *next_curwin; /* pointer to current window to be or NULL */ ++ int current; /* do only frame with current window */ + frame_T *topfr; /* frame to set size off */ + int dir; /* 'v', 'h' or 'b', see win_equal() */ + int col; /* horizontal position for frame */ +*************** +*** 1616,1622 **** + new_size += next_curwin_size; + } + } +! win_equal_rec(next_curwin, fr, dir, col, row, new_size + n, height); + col += new_size + n; + width -= new_size + n; + if (n != m) /* contains curwin */ +--- 1618,1631 ---- + new_size += next_curwin_size; + } + } +! +! /* Skip frame that is full height when splitting or closing a +! * window, unless equalizing all frames. */ +! if (!current || dir != 'v' || topfr->fr_parent != NULL +! || (new_size != fr->fr_width) +! || frame_has_win(fr, next_curwin)) +! win_equal_rec(next_curwin, current, fr, dir, col, row, +! new_size + n, height); + col += new_size + n; + width -= new_size + n; + if (n != m) /* contains curwin */ +*************** +*** 1766,1772 **** + room -= new_size; + new_size += n; + } +! win_equal_rec(next_curwin, fr, dir, col, row, width, new_size); + row += new_size; + height -= new_size; + totwincount -= wincount; +--- 1775,1787 ---- + room -= new_size; + new_size += n; + } +! /* Skip frame that is full width when splitting or closing a +! * window, unless equalizing all frames. */ +! if (!current || dir != 'h' || topfr->fr_parent != NULL +! || (new_size != fr->fr_height) +! || frame_has_win(fr, next_curwin)) +! win_equal_rec(next_curwin, current, fr, dir, col, row, +! width, new_size); + row += new_size; + height -= new_size; + totwincount -= wincount; +*************** +*** 1906,1912 **** + close_curwin = TRUE; + } + if (p_ea) +! win_equal(curwin, + #ifdef FEAT_VERTSPLIT + dir + #else +--- 1921,1927 ---- + close_curwin = TRUE; + } + if (p_ea) +! win_equal(curwin, TRUE, + #ifdef FEAT_VERTSPLIT + dir + #else +*************** +*** 3199,3205 **** + #if 0 + /* Disabled: don't want making the screen smaller make a window larger. */ + if (p_ea) +! win_equal(curwin, 'v'); + #endif + } + +--- 3214,3220 ---- + #if 0 + /* Disabled: don't want making the screen smaller make a window larger. */ + if (p_ea) +! win_equal(curwin, FALSE, 'v'); + #endif + } + +*************** +*** 3217,3223 **** + #if 0 + /* Disabled: don't want making the screen smaller make a window larger. */ + if (p_ea) +! win_equal(curwin, 'h'); + #endif + } + #endif +--- 3232,3238 ---- + #if 0 + /* Disabled: don't want making the screen smaller make a window larger. */ + if (p_ea) +! win_equal(curwin, FALSE, 'h'); + #endif + } + #endif +*** ../vim60.74/src/version.c Mon Nov 5 09:00:25 2001 +--- src/version.c Mon Nov 5 09:41:37 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 75, + /**/ + +-- +Imagine a world without hypothetical situations. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.076 b/app-editors/vim/files/6.0.076 new file mode 100644 index 000000000000..8402fe33592b --- /dev/null +++ b/app-editors/vim/files/6.0.076 @@ -0,0 +1,45 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.076 +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 6.0.076 +Problem: Warning for wrong pointer type when compiling. +Solution: Use char instead of char_u pointer. +Files: src/version.c + + +*** ../vim60.75/src/version.c Mon Nov 5 09:52:01 2001 +--- src/version.c Mon Nov 5 11:14:45 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 76, + /**/ +*************** +*** 1080,1084 **** + int row; + int blanklines; +! char_u *p; + static char *(lines[]) = + { +--- 1082,1086 ---- + int row; + int blanklines; +! char *p; + static char *(lines[]) = + { + +-- +It doesn't really matter what you can do if you don't do it. + (Bram Moolenaar) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.077 b/app-editors/vim/files/6.0.077 new file mode 100644 index 000000000000..383c67109436 --- /dev/null +++ b/app-editors/vim/files/6.0.077 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.077 +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 6.0.077 +Problem: Patch 6.0.075 was incomplete. +Solution: Fix another call to win_equal(). +Files: src/option.c + + +*** ../vim60.76/src/option.c Thu Oct 25 16:34:24 2001 +--- src/option.c Mon Nov 5 09:29:47 2001 +*************** +*** 5709,5715 **** + else if ((int *)varp == &p_ea) + { + if (p_ea && !old_value) +! win_equal(curwin, 0); + } + #endif + +--- 5709,5715 ---- + else if ((int *)varp == &p_ea) + { + if (p_ea && !old_value) +! win_equal(curwin, FALSE, 0); + } + #endif + +*** ../vim60.76/src/version.c Mon Nov 5 11:15:34 2001 +--- src/version.c Mon Nov 5 12:50:14 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 77, + /**/ + +-- +No engineer can take a shower without wondering if some sort of Teflon coating +would make showering unnecessary. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.078 b/app-editors/vim/files/6.0.078 new file mode 100644 index 000000000000..553fb459ae98 --- /dev/null +++ b/app-editors/vim/files/6.0.078 @@ -0,0 +1,73 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.078 +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 6.0.078 +Problem: Using "daw" at the end of a line on a single-character word didn't + include the white space before it. At the end of the file it + didn't work at all. (Gavin Sinclair) +Solution: Include the white space before the word. +Files: src/search.c + + +*** ../vim60.77/src/search.c Thu Nov 1 21:26:45 2001 +--- src/search.c Mon Nov 5 12:48:43 2001 +*************** +*** 2703,2718 **** + * If the start is not on white space, and white space should be + * included ("word "), or start is on white space and white + * space should not be included (" "), find start of word. + */ +! if (fwd_word(1L, bigword, TRUE) == FAIL) +! return FAIL; +! /* +! * If end is just past a new-line, we don't want to include the +! * first character on the line +! */ +! if (oneleft() == FAIL) /* put cursor on last char of area */ +! inclusive = FALSE; +! else if (include) + { + /* + * If we don't include white space at the end, move the start +--- 2703,2718 ---- + * If the start is not on white space, and white space should be + * included ("word "), or start is on white space and white + * space should not be included (" "), find start of word. ++ * If we end up in the first column of the next line (single char ++ * word) back up to end of the line. + */ +! fwd_word(1L, bigword, TRUE); +! if (curwin->w_cursor.col == 0) +! decl(&curwin->w_cursor); +! else +! oneleft(); +! +! if (include) + { + /* + * If we don't include white space at the end, move the start +*** ../vim60.77/src/version.c Mon Nov 5 12:51:06 2001 +--- src/version.c Mon Nov 5 13:11:50 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 78, + /**/ + +-- +The process for understanding customers primarily involves sitting around with +other marketing people and talking about what you would to if you were dumb +enough to be a customer. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.079 b/app-editors/vim/files/6.0.079 new file mode 100644 index 000000000000..fe52da3396cb --- /dev/null +++ b/app-editors/vim/files/6.0.079 @@ -0,0 +1,116 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.079 +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 6.0.079 +Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can + still overwrite a read-only file, because it's renamed. (Gary + Holloway) +Solution: Add a check for a read-only file before renaming the file to + become the backup. +Files: src/fileio.c + + +*** ../vim60.78/src/fileio.c Tue Oct 30 20:35:08 2001 +--- src/fileio.c Mon Nov 5 19:37:58 2001 +*************** +*** 2204,2209 **** +--- 2204,2211 ---- + int device = FALSE; /* writing to a device */ + struct stat st_old; + int prev_got_int = got_int; ++ int file_readonly = FALSE; /* overwritten file is read-only */ ++ static char *err_readonly = "is read-only (cannot override: \"W\" in 'cpoptions')"; + #if defined(UNIX) || defined(__EMX__XX) /*XXX fix me sometime? */ + int made_writable = FALSE; /* 'w' bit has been set */ + #endif +*************** +*** 2540,2546 **** + * Check if the file is really writable (when renaming the file to + * make a backup we won't discover it later). + */ +! if (!forceit && ( + # ifdef USE_MCH_ACCESS + # ifdef UNIX + (perm & 0222) == 0 || +--- 2542,2548 ---- + * Check if the file is really writable (when renaming the file to + * make a backup we won't discover it later). + */ +! file_readonly = ( + # ifdef USE_MCH_ACCESS + # ifdef UNIX + (perm & 0222) == 0 || +*************** +*** 2548,2558 **** + mch_access((char *)fname, W_OK) + # else + (fd = mch_open((char *)fname, O_RDWR | O_EXTRA, 0)) < 0 +! ? TRUE : (close(fd), FALSE) + # endif +! )) + { +! errmsg = (char_u *)_("is read-only (use ! to override)"); + goto fail; + } + +--- 2550,2564 ---- + mch_access((char *)fname, W_OK) + # else + (fd = mch_open((char *)fname, O_RDWR | O_EXTRA, 0)) < 0 +! ? TRUE : (close(fd), FALSE) + # endif +! ); +! if (!forceit && file_readonly) + { +! if (vim_strchr(p_cpo, CPO_FWRITE) != NULL) +! errmsg = (char_u *)_(err_readonly); +! else +! errmsg = (char_u *)_("is read-only (use ! to override)"); + goto fail; + } + +*************** +*** 2895,2900 **** +--- 2901,2919 ---- + + /* + * Make a backup by renaming the original file. ++ */ ++ /* ++ * If 'cpoptions' includes the "W" flag, we don't want to ++ * overwrite a read-only file. But rename may be possible ++ * anyway, thus we need an extra check here. ++ */ ++ if (file_readonly && vim_strchr(p_cpo, CPO_FWRITE) != NULL) ++ { ++ errmsg = (char_u *)_(err_readonly); ++ goto fail; ++ } ++ ++ /* + * + * Form the backup file name - change path/fo.o.h to + * path/fo.o.h.bak Try all directories in 'backupdir', first one +*** ../vim60.78/src/version.c Mon Nov 5 13:16:21 2001 +--- src/version.c Mon Nov 5 20:31:42 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 79, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +1. You actually wore a blue ribbon to protest the Communications Decency Act. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.080 b/app-editors/vim/files/6.0.080 new file mode 100644 index 000000000000..55932444922e --- /dev/null +++ b/app-editors/vim/files/6.0.080 @@ -0,0 +1,62 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.080 +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 6.0.080 +Problem: When using a session file that has the same file in two windows, + the fileinfo() call in do_ecmd() causes a scroll and a hit-enter + prompt. (Robert Webb) +Solution: Don't scroll this message when 'shortmess' contains 'O'. +Files: src/ex_cmds.c + + +*** ../vim60.79/src/ex_cmds.c Fri Sep 21 20:05:35 2001 +--- src/ex_cmds.c Mon Nov 5 20:55:36 2001 +*************** +*** 2972,2978 **** +--- 2972,2994 ---- + && !auto_buf + #endif + ) ++ { ++ int msg_scroll_save = msg_scroll; ++ ++ /* Obey the 'O' flag in 'cpoptions': overwrite any previous file ++ * message. */ ++ if (shortmess(SHM_OVERALL) && !exiting && p_verbose == 0) ++ msg_scroll = FALSE; ++ if (!msg_scroll) /* wait a bit when overwriting an error msg */ ++ check_for_delay(FALSE); ++ msg_start(); ++ msg_scroll = msg_scroll_save; ++ msg_scrolled_ign = TRUE; ++ + fileinfo(FALSE, TRUE, FALSE); ++ ++ msg_scrolled_ign = FALSE; ++ } + + if (command != NULL) + do_cmdline(command, NULL, NULL, DOCMD_VERBOSE); +*** ../vim60.79/src/version.c Mon Nov 5 21:01:58 2001 +--- src/version.c Mon Nov 5 20:57:03 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 80, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +4. Your eyeglasses have a web site burned in on them. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.081 b/app-editors/vim/files/6.0.081 new file mode 100644 index 000000000000..124c32180c5b --- /dev/null +++ b/app-editors/vim/files/6.0.081 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.081 +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 6.0.081 +Problem: After using ":saveas" the new buffer name is added to the Buffers + menu with a wrong number. (Chauk-Mean Proum) +Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer + and BufAdd for the old name (which is with a new buffer). +Files: src/ex_cmds.c + + +*** ../vim60.80/src/ex_cmds.c Mon Nov 5 21:04:40 2001 +--- src/ex_cmds.c Mon Nov 5 21:16:41 2001 +*************** +*** 2142,2147 **** +--- 2142,2158 ---- + + if (eap->cmdidx == CMD_saveas && alt_buf != NULL) + { ++ #ifdef FEAT_AUTOCMD ++ buf_T *was_curbuf = curbuf; ++ ++ apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, curbuf); ++ if (curbuf != was_curbuf) ++ { ++ /* buffer changed, don't change name now */ ++ retval = FAIL; ++ goto theend; ++ } ++ #endif + /* Exchange the file names for the current and the alternate buffer. + * This makes it look like we are now editing the buffer under the new + * name. Must be done before buf_write(), because if there is no file +*************** +*** 2157,2166 **** + curbuf->b_sfname = fname; + buf_name_changed(); + #ifdef FEAT_AUTOCMD + if (!alt_buf->b_p_bl) + { + alt_buf->b_p_bl = TRUE; +! apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, curbuf); + } + #endif + } +--- 2168,2184 ---- + curbuf->b_sfname = fname; + buf_name_changed(); + #ifdef FEAT_AUTOCMD ++ apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf); + if (!alt_buf->b_p_bl) + { + alt_buf->b_p_bl = TRUE; +! apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, alt_buf); +! } +! if (curbuf != was_curbuf) +! { +! /* buffer changed, don't write the file */ +! retval = FAIL; +! goto theend; + } + #endif + } +*** ../vim60.80/src/version.c Mon Nov 5 21:04:40 2001 +--- src/version.c Mon Nov 5 21:23:51 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 81, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +5. You find yourself brainstorming for new subjects to search. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.082 b/app-editors/vim/files/6.0.082 new file mode 100644 index 000000000000..3eba719fe03c --- /dev/null +++ b/app-editors/vim/files/6.0.082 @@ -0,0 +1,68 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.082 +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 6.0.082 +Problem: When swapping screens in an xterm and there is an (error) message + from the vimrc script, the shell prompt is after the message. +Solution: Output a newline when there was output on the alternate screen. + Also when starting the GUI. +Files: src/main.c + + +*** ../vim60.81/src/main.c Mon Nov 5 09:52:01 2001 +--- src/main.c Mon Nov 5 22:04:39 2001 +*************** +*** 1362,1367 **** +--- 1362,1374 ---- + #ifdef FEAT_GUI + if (gui.starting) + { ++ #if defined(UNIX) || defined(VMS) ++ /* When something caused a message from a vimrc script, need to output ++ * an extra newline before the shell prompt. */ ++ if (did_emsg || msg_didout) ++ putchar('\n'); ++ #endif ++ + gui_start(); /* will set full_screen to TRUE */ + TIME_MSG("starting GUI"); + } +*************** +*** 1502,1507 **** +--- 1509,1521 ---- + dup(2); + #endif + } ++ ++ #if defined(UNIX) || defined(VMS) ++ /* When switching screens and something caused a message from a vimrc ++ * script, need to output an extra newline on exit. */ ++ if ((did_emsg || msg_didout) && *T_TI != NUL) ++ newline_on_exit = TRUE; ++ #endif + + /* + * When done something that is not allowed or error message call +*** ../vim60.81/src/version.c Mon Nov 5 21:24:46 2001 +--- src/version.c Mon Nov 5 22:06:01 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 82, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +6. You refuse to go to a vacation spot with no electricity and no phone lines. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.083 b/app-editors/vim/files/6.0.083 new file mode 100644 index 000000000000..8e2cfa278d22 --- /dev/null +++ b/app-editors/vim/files/6.0.083 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.083 +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 6.0.083 +Problem: GTK: When compiled without menu support the buttons in a dialog + don't have any text. (Erik Edelmann) +Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define + GTK_USE_ACCEL also when not using menus. +Files: src/gui_gtk.c + + +*** ../vim60.82/src/gui_gtk.c Thu Oct 25 10:20:46 2001 +--- src/gui_gtk.c Tue Nov 6 11:52:21 2001 +*************** +*** 119,126 **** + static void exact_match_cb(GtkWidget *widget, gpointer data); + static void repl_dir_cb(GtkWidget * widget, gpointer data); + +- #if defined(FEAT_MENU) || defined(PROTO) +- + /* + * Only use accelerators when gtk_menu_ensure_uline_accel_group() is + * available, which is in version 1.2.1. That was the first version where +--- 119,124 ---- +*************** +*** 132,137 **** +--- 130,137 ---- + # endif + #endif + ++ #if defined(FEAT_MENU) || defined(PROTO) ++ + /* + * Create a highly customized menu item by hand instead of by using: + * +*************** +*** 1337,1342 **** +--- 1337,1344 ---- + accel_key, 0, + 0); + } ++ # else ++ (void)gtk_label_parse_uline(GTK_LABEL(label), (const gchar *)p); + # endif + + gtk_container_add(GTK_CONTAINER(button[butcount]), label); +*** ../vim60.82/src/version.c Mon Nov 5 22:06:57 2001 +--- src/version.c Tue Nov 6 11:56:49 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 83, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +22. You've already visited all the links at Yahoo and you're halfway through + Lycos. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.084 b/app-editors/vim/files/6.0.084 new file mode 100644 index 000000000000..1e3f91f8bc68 --- /dev/null +++ b/app-editors/vim/files/6.0.084 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.084 +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 6.0.084 +Problem: UTF-8: a "r" command with an argument that is a keymap for a + character with a composing character can't be repeated with ".". + (Raphael Finkel) +Solution: Add the composing characters to the redo buffer. +Files: src/normal.c + + +*** ../vim60.83/src/normal.c Sun Nov 4 19:10:16 2001 +--- src/normal.c Tue Nov 6 14:19:12 2001 +*************** +*** 5854,5859 **** +--- 5854,5864 ---- + { + int old_State = State; + ++ if (cap->ncharC1 != 0) ++ AppendCharToRedobuff(cap->ncharC1); ++ if (cap->ncharC2 != 0) ++ AppendCharToRedobuff(cap->ncharC2); ++ + /* This is slow, but it handles replacing a single-byte with a + * multi-byte and the other way around. Also handles adding + * composing characters for utf-8. */ +*** ../vim60.83/src/version.c Tue Nov 6 11:58:54 2001 +--- src/version.c Tue Nov 6 14:24:11 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 84, + /**/ + +-- +Q: What is the difference betwee open-source and commercial software? +A: If you have a problem with commercial software you can call a phone + number and they will tell you it might be solved in a future version. + For open-source sofware there isn't a phone number to call, but you + get the solution within a day. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.085 b/app-editors/vim/files/6.0.085 new file mode 100644 index 000000000000..64371c25acc1 --- /dev/null +++ b/app-editors/vim/files/6.0.085 @@ -0,0 +1,48 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.085 +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 6.0.085 +Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then + moving the mouse pointer to another window stops Insert mode, + while this doesn't happen with "a" or "i". (Robert Webb) +Solution: Reset finish_op before calling edit(). +Files: src/normal.c + + +*** ../vim60.84/src/normal.c Tue Nov 6 14:25:46 2001 +--- src/normal.c Tue Nov 6 14:34:26 2001 +*************** +*** 1736,1741 **** +--- 1736,1743 ---- + else + restart_edit_save = 0; + restart_edit = 0; ++ /* Reset finish_op now, don't want it set inside edit(). */ ++ finish_op = FALSE; + if (op_change(oap)) /* will call edit() */ + cap->retval |= CA_COMMAND_BUSY; + if (restart_edit == 0) +*** ../vim60.84/src/version.c Tue Nov 6 14:25:46 2001 +--- src/version.c Tue Nov 6 14:38:23 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 85, + /**/ + +-- +If all you have is a hammer, everything looks like a nail. +When your hammer is C++, everything begins to look like a thumb. + -- Steve Hoflich, comp.lang.c++ + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.086 b/app-editors/vim/files/6.0.086 new file mode 100644 index 000000000000..ff6938d80b9b --- /dev/null +++ b/app-editors/vim/files/6.0.086 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.086 +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 6.0.086 +Problem: When using "gu" the message says "~ed". +Solution: Make the message say "changed". +Files: src/ops.c + + +*** ../vim60.85/src/ops.c Sun Nov 4 13:15:58 2001 +--- src/ops.c Sat Nov 3 21:25:47 2001 +*************** +*** 1948,1954 **** + #endif + + /* +! * Handle the (non-standard vi) tilde operator. Also for "gu" and "gU". + */ + void + op_tilde(oap) +--- 1948,1954 ---- + #endif + + /* +! * Handle the (non-standard vi) tilde operator. Also for "gu", "gU" and "g?". + */ + void + op_tilde(oap) +*************** +*** 2018,2032 **** + if (oap->line_count > p_report) + { + if (oap->line_count == 1) +! MSG(_("1 line ~ed")); + else +! smsg((char_u *)_("%ld lines ~ed"), oap->line_count); + } + } + + /* + * If op_type == OP_UPPER: make uppercase, + * if op_type == OP_LOWER: make lowercase, + * else swap case of character at 'pos' + * returns TRUE when something actually changed. + */ +--- 2018,2033 ---- + if (oap->line_count > p_report) + { + if (oap->line_count == 1) +! MSG(_("1 line changed")); + else +! smsg((char_u *)_("%ld lines changed"), oap->line_count); + } + } + + /* + * If op_type == OP_UPPER: make uppercase, + * if op_type == OP_LOWER: make lowercase, ++ * if op_type == OP_ROT13: do rot13 encoding, + * else swap case of character at 'pos' + * returns TRUE when something actually changed. + */ +*** ../vim60.85/src/version.c Tue Nov 6 14:39:24 2001 +--- src/version.c Tue Nov 6 15:51:38 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 86, + /**/ + +-- +Anyone who is capable of getting themselves made President should on no +account be allowed to do the job. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.088 b/app-editors/vim/files/6.0.088 new file mode 100644 index 000000000000..7cc70e838036 --- /dev/null +++ b/app-editors/vim/files/6.0.088 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.088 +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 6.0.088 +Problem: "." doesn't work after using "rx" in Visual mode. (Charles + Campbell) +Solution: Also store the replacement character in the redo buffer. +Files: src/normal.c + + +*** ../vim60.87/src/normal.c Tue Nov 6 14:39:24 2001 +--- src/normal.c Tue Nov 6 16:47:09 2001 +*************** +*** 1515,1523 **** + && oap->motion_force == NUL + ) + { +! prep_redo(oap->regname, 0L, NUL, 'v', NUL, +! get_op_char(oap->op_type), +! get_extra_op_char(oap->op_type)); + redo_VIsual_mode = resel_VIsual_mode; + redo_VIsual_col = resel_VIsual_col; + redo_VIsual_line_count = resel_VIsual_line_count; +--- 1515,1522 ---- + && oap->motion_force == NUL + ) + { +! prep_redo(oap->regname, 0L, NUL, 'v', get_op_char(oap->op_type), +! get_extra_op_char(oap->op_type), cap->nchar); + redo_VIsual_mode = resel_VIsual_mode; + redo_VIsual_col = resel_VIsual_col; + redo_VIsual_line_count = resel_VIsual_line_count; +*** ../vim60.87/src/version.c Tue Nov 6 16:30:59 2001 +--- src/version.c Tue Nov 6 16:55:15 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 88, + /**/ + +-- +Don't Panic! + -- The Hitchhiker's Guide to the Galaxy + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.089 b/app-editors/vim/files/6.0.089 new file mode 100644 index 000000000000..664a63a2a509 --- /dev/null +++ b/app-editors/vim/files/6.0.089 @@ -0,0 +1,150 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.089 +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 6.0.089 +Problem: In a C file, using "==" to align a line starting with "* " after + a line with "* -" indents one space too few. (Piet Delport) +Solution: Align with the previous line if the comment-start-string matches + there. +Files: src/misc1.c + + +*** ../vim60.88/src/misc1.c Wed Oct 24 13:22:11 2001 +--- src/misc1.c Tue Nov 6 19:33:32 2001 +*************** +*** 4792,4797 **** +--- 4792,4799 ---- + && (trypos = find_start_comment(ind_maxcomment)) != NULL) /* XXX */ + { + int lead_start_len = 2; ++ int lead_middle_len = 1; ++ char_u lead_start[COM_MAX_LEN]; /* start-comment string */ + char_u lead_middle[COM_MAX_LEN]; /* middle-comment string */ + char_u lead_end[COM_MAX_LEN]; /* end-comment string */ + char_u *p; +*************** +*** 4827,4858 **** + (void)copy_option_part(&p, lead_end, COM_MAX_LEN, ","); + if (what == COM_START) + { +! lead_start_len = (int)STRLEN(lead_end); + start_off = off; + start_align = align; + } + else if (what == COM_MIDDLE) + { + STRCPY(lead_middle, lead_end); + } + else if (what == COM_END) + { + /* If our line starts with the middle comment string, line it + * up with the comment opener per the 'comments' option. */ +! if (STRNCMP(theline, lead_middle, STRLEN(lead_middle)) == 0 + && STRNCMP(theline, lead_end, STRLEN(lead_end)) != 0) + { + if (start_off != 0) + amount += start_off; + else if (start_align == COM_RIGHT) +! amount += lead_start_len - (int)STRLEN(lead_middle); +! done = TRUE; + break; + } + + /* If our line starts with the end comment string, line it up + * with the middle comment */ +! if (STRNCMP(theline, lead_middle, STRLEN(lead_middle)) != 0 + && STRNCMP(theline, lead_end, STRLEN(lead_end)) == 0) + { + amount = get_indent_lnum(curwin->w_cursor.lnum - 1); +--- 4829,4878 ---- + (void)copy_option_part(&p, lead_end, COM_MAX_LEN, ","); + if (what == COM_START) + { +! STRCPY(lead_start, lead_end); +! lead_start_len = (int)STRLEN(lead_start); + start_off = off; + start_align = align; + } + else if (what == COM_MIDDLE) + { + STRCPY(lead_middle, lead_end); ++ lead_middle_len = (int)STRLEN(lead_middle); + } + else if (what == COM_END) + { + /* If our line starts with the middle comment string, line it + * up with the comment opener per the 'comments' option. */ +! if (STRNCMP(theline, lead_middle, lead_middle_len) == 0 + && STRNCMP(theline, lead_end, STRLEN(lead_end)) != 0) + { ++ done = TRUE; ++ 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)); ++ if (STRNCMP(look, lead_start, lead_start_len) == 0) ++ amount = get_indent_lnum(curwin->w_cursor.lnum - 1); ++ else if (STRNCMP(look, lead_middle, ++ lead_middle_len) == 0) ++ { ++ amount = get_indent_lnum(curwin->w_cursor.lnum - 1); ++ break; ++ } ++ } + if (start_off != 0) + amount += start_off; + else if (start_align == COM_RIGHT) +! amount += lead_start_len - lead_middle_len; + break; + } + + /* If our line starts with the end comment string, line it up + * with the middle comment */ +! if (STRNCMP(theline, lead_middle, lead_middle_len) != 0 + && STRNCMP(theline, lead_end, STRLEN(lead_end)) == 0) + { + amount = get_indent_lnum(curwin->w_cursor.lnum - 1); +*************** +*** 4860,4866 **** + if (off != 0) + amount += off; + else if (align == COM_RIGHT) +! amount += lead_start_len - (int)STRLEN(lead_middle); + done = TRUE; + break; + } +--- 4880,4886 ---- + if (off != 0) + amount += off; + else if (align == COM_RIGHT) +! amount += lead_start_len - lead_middle_len; + done = TRUE; + break; + } +*** ../vim60.88/src/version.c Tue Nov 6 19:38:36 2001 +--- src/version.c Tue Nov 6 19:29:12 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 89, + /**/ + +-- +If they don't keep on exercising their lips, he thought, their brains +start working. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.090 b/app-editors/vim/files/6.0.090 new file mode 100644 index 000000000000..73f3b0ed9db0 --- /dev/null +++ b/app-editors/vim/files/6.0.090 @@ -0,0 +1,145 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.090 +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 6.0.090 +Problem: When a wrapping line does not fit in a window and 'scrolloff' is + bigger than half the window height, moving the cursor left or + right causes the screen to flash badly. (Lubomir Host) +Solution: When there is not enough room to show 'scrolloff' screen lines and + near the end of the line, show the end of the line. +Files: src/move.c + + +*** ../vim60.89/src/move.c Sat Sep 29 10:11:29 2001 +--- src/move.c Tue Nov 6 21:38:50 2001 +*************** +*** 931,936 **** +--- 931,937 ---- + int extra; /* offset for first screen line */ + int off; + int n; ++ int p_lines; + int width = 0; + int textwidth; + int new_leftcol; +*************** +*** 1071,1081 **** + + prev_skipcol = curwin->w_skipcol; + +! n = 0; + if ((curwin->w_wrow >= curwin->w_height + || ((prev_skipcol > 0 + || curwin->w_wrow + p_so >= curwin->w_height) +! && (n = + #ifdef FEAT_DIFF + plines_win_nofill + #else +--- 1072,1082 ---- + + prev_skipcol = curwin->w_skipcol; + +! p_lines = 0; + if ((curwin->w_wrow >= curwin->w_height + || ((prev_skipcol > 0 + || curwin->w_wrow + p_so >= curwin->w_height) +! && (p_lines = + #ifdef FEAT_DIFF + plines_win_nofill + #else +*************** +*** 1102,1116 **** + extra = 1; + /* Compute last display line of the buffer line that we want at the + * bottom of the window. */ +! if (n == 0) +! n = plines_win(curwin, curwin->w_cursor.lnum, FALSE); +! --n; +! if (curwin->w_wrow + p_so < n) + n = curwin->w_wrow + p_so; + if ((colnr_T)n >= curwin->w_height + curwin->w_skipcol / width) + extra += 2; + +! if (extra == 3) + { + /* not enough room for 'scrolloff', put cursor in the middle */ + n = curwin->w_virtcol / width; +--- 1103,1119 ---- + extra = 1; + /* Compute last display line of the buffer line that we want at the + * bottom of the window. */ +! if (p_lines == 0) +! p_lines = plines_win(curwin, curwin->w_cursor.lnum, FALSE); +! --p_lines; +! if (p_lines > curwin->w_wrow + p_so) + n = curwin->w_wrow + p_so; ++ else ++ n = p_lines; + if ((colnr_T)n >= curwin->w_height + curwin->w_skipcol / width) + extra += 2; + +! if (extra == 3 || p_lines < p_so * 2) + { + /* not enough room for 'scrolloff', put cursor in the middle */ + n = curwin->w_virtcol / width; +*************** +*** 1118,1123 **** +--- 1121,1129 ---- + n -= curwin->w_height / 2; + else + n = 0; ++ /* don't skip more than necessary */ ++ if (n > p_lines - curwin->w_height + 1) ++ n = p_lines - curwin->w_height + 1; + curwin->w_skipcol = n * width; + } + else if (extra == 1) +*************** +*** 1149,1160 **** + curwin->w_wrow -= extra; + } + +! extra = (curwin->w_skipcol - prev_skipcol) / width; + if (extra > 0) + win_ins_lines(curwin, 0, extra, FALSE, FALSE); + else if (extra < 0) + win_del_lines(curwin, 0, -extra, FALSE, FALSE); +- + } + else + curwin->w_skipcol = 0; +--- 1155,1165 ---- + curwin->w_wrow -= extra; + } + +! extra = ((int)prev_skipcol - (int)curwin->w_skipcol) / width; + if (extra > 0) + win_ins_lines(curwin, 0, extra, FALSE, FALSE); + else if (extra < 0) + win_del_lines(curwin, 0, -extra, FALSE, FALSE); + } + else + curwin->w_skipcol = 0; +*** ../vim60.89/src/version.c Tue Nov 6 19:43:29 2001 +--- src/version.c Tue Nov 6 21:42:02 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 90, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +2. Page yourself over the intercom. Don't disguise your voice. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.091 b/app-editors/vim/files/6.0.091 new file mode 100644 index 000000000000..71feb13e76e0 --- /dev/null +++ b/app-editors/vim/files/6.0.091 @@ -0,0 +1,72 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.091 +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 6.0.091 +Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the + cursor is after the end-of-line, moves the cursor left. (Yegappan + Lakshmanan) +Solution: Keep the cursor in the same position. +Files: src/edit.c + + +*** ../vim60.90/src/edit.c Sun Sep 23 21:34:28 2001 +--- src/edit.c Tue Nov 6 09:10:57 2001 +*************** +*** 742,748 **** + else + restart_edit = 'I'; + o_lnum = curwin->w_cursor.lnum; +! o_eol = (gchar_cursor() == NUL); + goto doESCkey; + + #ifdef FEAT_SNIFF +--- 742,753 ---- + else + restart_edit = 'I'; + o_lnum = curwin->w_cursor.lnum; +! #ifdef FEAT_VIRTUALEDIT +! if (virtual_active()) +! o_eol = FALSE; /* cursor always keeps its column */ +! else +! #endif +! o_eol = (gchar_cursor() == NUL); + goto doESCkey; + + #ifdef FEAT_SNIFF +*************** +*** 5631,5637 **** +--- 5636,5646 ---- + { + #ifdef FEAT_VIRTUALEDIT + if (curwin->w_cursor.coladd > 0 || ve_flags == VE_ALL) ++ { + oneleft(); ++ if (restart_edit != NUL) ++ ++curwin->w_cursor.coladd; ++ } + else + #endif + --curwin->w_cursor.col; +*** ../vim60.90/src/version.c Tue Nov 6 21:48:06 2001 +--- src/version.c Tue Nov 6 21:54:31 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 91, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +4. Put your garbage can on your desk and label it "in". + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.092 b/app-editors/vim/files/6.0.092 new file mode 100644 index 000000000000..fca9f42514f1 --- /dev/null +++ b/app-editors/vim/files/6.0.092 @@ -0,0 +1,90 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.092 +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 6.0.092 +Problem: The explorer plugin doesn't ignore case of 'suffixes' on + MS-Windows. (Mike Williams) +Solution: Match or ignore case as appropriate for the OS. +Files: runtime/plugin/explorer.vim + + +*** ../vim60.91/runtime/plugin/explorer.vim Wed Sep 26 10:49:58 2001 +--- runtime/plugin/explorer.vim Tue Nov 6 14:08:54 2001 +*************** +*** 323,329 **** + nnoremap <buffer> i :call <SID>ToggleLongList()<cr> + nnoremap <buffer> s :call <SID>SortSelect()<cr> + nnoremap <buffer> r :call <SID>SortReverse()<cr> +! nnoremap <buffer> c :exec ("cd ".b:completePathEsc)<cr> + nnoremap <buffer> <2-leftmouse> :call <SID>DoubleClick()<cr> + let &cpo = cpo_save + +--- 323,329 ---- + nnoremap <buffer> i :call <SID>ToggleLongList()<cr> + nnoremap <buffer> s :call <SID>SortSelect()<cr> + nnoremap <buffer> r :call <SID>SortReverse()<cr> +! nnoremap <buffer> c :exec "cd ".b:completePathEsc<cr> + nnoremap <buffer> <2-leftmouse> :call <SID>DoubleClick()<cr> + let &cpo = cpo_save + +*************** +*** 536,541 **** +--- 536,548 ---- + function! s:SetSuffixesLast() + let b:suffixesRegexp = '\(' . substitute(escape(&suffixes,s:escregexp),',','\\|','g') . '\)$' + let b:suffixesHighlight = '^[^"].*\(' . substitute(escape(&suffixes,s:escregexp),',','\\|','g') . '\)\( \|$\)' ++ if has("fname_case") ++ let b:suffixesRegexp = '\C' . b:suffixesRegexp ++ let b:suffixesHighlight = '\C' . b:suffixesHighlight ++ else ++ let b:suffixesRegexp = '\c' . b:suffixesRegexp ++ let b:suffixesHighlight = '\c' . b:suffixesHighlight ++ endif + if g:explSuffixesLast > 0 && &suffixes != "" + let b:suffixeslast=" (" . &suffixes . " at end of list)" + elseif g:explSuffixesLast < 0 && &suffixes != "" +*************** +*** 943,951 **** + function! s:GetSection() + let fn=s:GetFileName() + let section="file" +! if (fn =~ '/$') + let section="directory" +! elseif (fn =~ b:suffixesRegexp) + let section="suffixes" + endif + return section +--- 950,958 ---- + function! s:GetSection() + let fn=s:GetFileName() + let section="file" +! if fn =~ '/$' + let section="directory" +! elseif fn =~ b:suffixesRegexp + let section="suffixes" + endif + return section +*** ../vim60.91/src/version.c Tue Nov 6 21:57:04 2001 +--- src/version.c Tue Nov 6 22:00:50 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 92, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +5. Put decaf in the coffee maker for 3 weeks. Once everyone has gotten + over their caffeine addictions, switch to expresso. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.093 b/app-editors/vim/files/6.0.093 new file mode 100644 index 000000000000..bfa8f4eb5c2c --- /dev/null +++ b/app-editors/vim/files/6.0.093 @@ -0,0 +1,92 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.093 +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 6.0.093 +Problem: When the Tcl library couldn't be loaded dynamically, get an error + message when closing a buffer or window. (Muraoka Taro) +Solution: Only free structures if already using the Tcl interpreter. +Files: src/if_tcl.c + + +*** ../vim60.92/src/if_tcl.c Sun Nov 4 14:31:23 2001 +--- src/if_tcl.c Tue Nov 6 11:39:23 2001 +*************** +*** 228,233 **** +--- 228,236 ---- + } + + #if defined(DYNAMIC_TCL) || defined(PROTO) ++ ++ static int stubs_initialized = FALSE; ++ + /* + * Return TRUE if the TCL interface can be used. + */ +*************** +*** 235,242 **** + tcl_enabled(verbose) + int verbose; + { +- static int stubs_initialized = FALSE; +- + if (!stubs_initialized && find_executable_arg != NULL + && tcl_runtime_link_init(DYNAMIC_TCL_DLL, verbose) == OK) + { +--- 238,243 ---- +*************** +*** 2079,2085 **** + struct ref *reflist; + + #ifdef DYNAMIC_TCL +! if (!tcl_enabled(TRUE)) + return; + #endif + +--- 2080,2086 ---- + struct ref *reflist; + + #ifdef DYNAMIC_TCL +! if (!stubs_initialized) /* Not using Tcl, nothing to do. */ + return; + #endif + +*************** +*** 2100,2106 **** + struct ref *reflist; + + #ifdef DYNAMIC_TCL +! if (!tcl_enabled(TRUE)) + return; + #endif + +--- 2101,2107 ---- + struct ref *reflist; + + #ifdef DYNAMIC_TCL +! if (!stubs_initialized) /* Not using Tcl, nothing to do. */ + return; + #endif + +*** ../vim60.92/src/version.c Tue Nov 6 22:02:12 2001 +--- src/version.c Tue Nov 6 22:03:56 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 93, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +6. In the memo field of all your checks, write "for sexual favors". + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.094 b/app-editors/vim/files/6.0.094 new file mode 100644 index 000000000000..8a1555860bbd --- /dev/null +++ b/app-editors/vim/files/6.0.094 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.094 +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 6.0.094 +Problem: Athena: When clicking in the horizontal scrollbar Vim crashes. + (Paul Ackersviller) +Solution: Use the thumb size instead of the window pointer of the scrollbar + (which is NULL). (David Harrison) + Also avoid that scolling goes the wrong way in a narrow window. +Files: src/gui_athena.c + + +*** ../vim60.93/src/gui_athena.c Tue Sep 11 20:46:25 2001 +--- src/gui_athena.c Wed Dec 12 20:29:52 2001 +*************** +*** 148,156 **** + { + sb_info = sb; + if (data < -1) /* page-width left */ +! data = -(W_WIDTH(sb->wp) - 5); + else if (data > 1) /* page-width right */ +! data = (W_WIDTH(sb->wp) - 5); + } + + value = sb_info->value + data; +--- 148,166 ---- + { + sb_info = sb; + if (data < -1) /* page-width left */ +! { +! if (sb->size > 8) +! data = -(sb->size - 5); +! else +! data = -sb->size; +! } + else if (data > 1) /* page-width right */ +! { +! if (sb->size > 8) +! data = (sb->size - 5); +! else +! data = sb->size; +! } + } + + value = sb_info->value + data; +*** ../vim60.93/src/version.c Tue Nov 6 22:08:40 2001 +--- src/version.c Wed Dec 12 20:31:57 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 94, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +44. Your friends no longer send you e-mail...they just log on to your IRC + channel. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.095 b/app-editors/vim/files/6.0.095 new file mode 100644 index 000000000000..1c263375f895 --- /dev/null +++ b/app-editors/vim/files/6.0.095 @@ -0,0 +1,46 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.095 +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 6.0.095 +Problem: Perl: Deleting lines may leave the cursor beyond the end of the + file. +Solution: Check the cursor position after deleting a line. (Serguei) +Files: src/if_perl.xs + + +*** ../vim60.94/src/if_perl.xs Sun Nov 4 14:31:23 2001 +--- src/if_perl.xs Wed Dec 12 20:59:21 2001 +*************** +*** 1086,1091 **** +--- 1086,1092 ---- + { + ml_delete(lnum, 0); + deleted_lines_mark(lnum, 1L); ++ check_cursor(); + } + curbuf = savebuf; + update_curbuf(VALID); +*** ../vim60.94/src/version.c Wed Dec 12 20:36:34 2001 +--- src/version.c Wed Dec 12 21:03:16 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 95, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +48. You get a tatoo that says "This body best viewed with Netscape 3.1 or + higher." + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.096 b/app-editors/vim/files/6.0.096 new file mode 100644 index 000000000000..e2b051025d71 --- /dev/null +++ b/app-editors/vim/files/6.0.096 @@ -0,0 +1,147 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.096 +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 6.0.096 +Problem: When ":saveas fname" fails because the file already exists, the + file name is changed anyway and a following ":w" will overwrite + the file. (Eric Carlier) +Solution: Don't change the file name if the file already exists. +Files: src/ex_cmds.c + + +*** ../vim60.95/src/ex_cmds.c Mon Nov 5 21:24:46 2001 +--- src/ex_cmds.c Wed Dec 12 21:32:55 2001 +*************** +*** 2140,2191 **** + } + } + +! if (eap->cmdidx == CMD_saveas && alt_buf != NULL) + { + #ifdef FEAT_AUTOCMD +! buf_T *was_curbuf = curbuf; + +! apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, curbuf); +! if (curbuf != was_curbuf) +! { +! /* buffer changed, don't change name now */ +! retval = FAIL; +! goto theend; +! } + #endif +! /* Exchange the file names for the current and the alternate buffer. +! * This makes it look like we are now editing the buffer under the new +! * name. Must be done before buf_write(), because if there is no file +! * name and 'cpo' contains 'F', it will set the file name. */ +! fname = alt_buf->b_fname; +! alt_buf->b_fname = curbuf->b_fname; +! curbuf->b_fname = fname; +! fname = alt_buf->b_ffname; +! alt_buf->b_ffname = curbuf->b_ffname; +! curbuf->b_ffname = fname; +! fname = alt_buf->b_sfname; +! alt_buf->b_sfname = curbuf->b_sfname; +! curbuf->b_sfname = fname; +! buf_name_changed(); + #ifdef FEAT_AUTOCMD +! apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf); +! if (!alt_buf->b_p_bl) +! { +! alt_buf->b_p_bl = TRUE; +! apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, alt_buf); +! } +! if (curbuf != was_curbuf) +! { +! /* buffer changed, don't write the file */ +! retval = FAIL; +! goto theend; +! } + #endif +! } + +- if (check_overwrite(eap, curbuf, fname, ffname, other) == OK) + retval = buf_write(curbuf, ffname, fname, eap->line1, eap->line2, + eap, eap->append, eap->forceit, TRUE, FALSE); + + theend: + #ifdef FEAT_BROWSE +--- 2140,2194 ---- + } + } + +! if (check_overwrite(eap, curbuf, fname, ffname, other) == OK) + { ++ if (eap->cmdidx == CMD_saveas && alt_buf != NULL) ++ { + #ifdef FEAT_AUTOCMD +! buf_T *was_curbuf = curbuf; + +! apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, curbuf); +! if (curbuf != was_curbuf) +! { +! /* buffer changed, don't change name now */ +! retval = FAIL; +! goto theend; +! } + #endif +! /* Exchange the file names for the current and the alternate +! * buffer. This makes it look like we are now editing the buffer +! * under the new name. Must be done before buf_write(), because +! * if there is no file name and 'cpo' contains 'F', it will set +! * the file name. */ +! fname = alt_buf->b_fname; +! alt_buf->b_fname = curbuf->b_fname; +! curbuf->b_fname = fname; +! fname = alt_buf->b_ffname; +! alt_buf->b_ffname = curbuf->b_ffname; +! curbuf->b_ffname = fname; +! fname = alt_buf->b_sfname; +! alt_buf->b_sfname = curbuf->b_sfname; +! curbuf->b_sfname = fname; +! buf_name_changed(); + #ifdef FEAT_AUTOCMD +! apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf); +! if (!alt_buf->b_p_bl) +! { +! alt_buf->b_p_bl = TRUE; +! apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, alt_buf); +! } +! if (curbuf != was_curbuf) +! { +! /* buffer changed, don't write the file */ +! retval = FAIL; +! goto theend; +! } + #endif +! } + + retval = buf_write(curbuf, ffname, fname, eap->line1, eap->line2, + eap, eap->append, eap->forceit, TRUE, FALSE); ++ } + + theend: + #ifdef FEAT_BROWSE +*** ../vim60.95/src/version.c Wed Dec 12 21:05:43 2001 +--- src/version.c Wed Dec 12 21:37:50 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 96, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +51. You put a pillow case over your laptop so your lover doesn't see it while + you are pretending to catch your breath. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.097 b/app-editors/vim/files/6.0.097 new file mode 100644 index 000000000000..5c4ba397b749 --- /dev/null +++ b/app-editors/vim/files/6.0.097 @@ -0,0 +1,53 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.097 +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 6.0.097 +Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a + multi-byte encoding. +Solution: Avoid using a character before the start of a line. (Sergey + Vlasov) +Files: src/edit.c + + +*** ../vim60.96/src/edit.c Tue Nov 6 21:57:04 2001 +--- src/edit.c Thu Dec 13 18:51:50 2001 +*************** +*** 1510,1516 **** + { + last_vcol = vcol; + #ifdef FEAT_MBYTE +! if (has_mbyte) + new_cursor_col += (*mb_ptr2len_check)(ptr + new_cursor_col); + else + #endif +--- 1510,1516 ---- + { + last_vcol = vcol; + #ifdef FEAT_MBYTE +! if (has_mbyte && new_cursor_col >= 0) + new_cursor_col += (*mb_ptr2len_check)(ptr + new_cursor_col); + else + #endif +*** ../vim60.96/src/version.c Wed Dec 12 21:42:23 2001 +--- src/version.c Thu Dec 13 19:13:10 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 97, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +78. You find yourself dialing IP numbers on the phone. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.098 b/app-editors/vim/files/6.0.098 new file mode 100644 index 000000000000..4a11d89341d8 --- /dev/null +++ b/app-editors/vim/files/6.0.098 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.098 +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 6.0.098 +Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog + boxes are not translated. +Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez) +Files: src/gui_gtk.c, src/gui_gtk_x11.c + + +*** ../vim60.97/src/gui_gtk.c Tue Nov 6 11:58:54 2001 +--- src/gui_gtk.c Fri Dec 14 20:09:40 2001 +*************** +*** 43,48 **** +--- 43,51 ---- + # ifdef bindtextdomain + # undef bindtextdomain + # endif ++ # if defined(FEAT_GETTEXT) && !defined(ENABLE_NLS) ++ # define ENABLE_NLS /* so the texts in the dialog boxes are translated */ ++ # endif + # include <gnome.h> + #endif + +*** ../vim60.97/src/gui_gtk_x11.c Thu Nov 1 14:41:29 2001 +--- src/gui_gtk_x11.c Fri Dec 14 20:10:23 2001 +*************** +*** 31,36 **** +--- 31,39 ---- + # ifdef bindtextdomain + # undef bindtextdomain + # endif ++ # if defined(FEAT_GETTEXT) && !defined(ENABLE_NLS) ++ # define ENABLE_NLS /* so the texts in the dialog boxes are translated */ ++ # endif + # include <gnome.h> + # include "version.h" + #endif +*** ../vim60.97/src/version.c Thu Dec 13 19:15:02 2001 +--- src/version.c Fri Dec 14 20:07:55 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 98, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +93. New mail alarm on your palmtop annoys other churchgoers. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.099 b/app-editors/vim/files/6.0.099 new file mode 100644 index 000000000000..92775e7a4d4f --- /dev/null +++ b/app-editors/vim/files/6.0.099 @@ -0,0 +1,60 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.099 +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 6.0.099 +Problem: Cygwin: When running Vi compatible MS-DOS line endings cause + trouble. +Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible + mode. (Michael Schaap) +Files: src/option.h + + +*** ../vim60.98/src/option.h Thu Nov 1 12:22:41 2001 +--- src/option.h Fri Dec 14 20:23:52 2001 +*************** +*** 67,74 **** + # else + # define DFLT_FF "unix" + # define DFLT_FFS_VIM "unix,dos" +! # define DFLT_FFS_VI "" +! # define DFLT_TEXTAUTO FALSE + # endif + #endif + +--- 67,79 ---- + # else + # define DFLT_FF "unix" + # define DFLT_FFS_VIM "unix,dos" +! # ifdef __CYGWIN__ +! # define DFLT_FFS_VI "unix,dos" /* Cygwin always needs file detection */ +! # define DFLT_TEXTAUTO TRUE +! # else +! # define DFLT_FFS_VI "" +! # define DFLT_TEXTAUTO FALSE +! # endif + # endif + #endif + +*** ../vim60.98/src/version.c Fri Dec 14 20:19:45 2001 +--- src/version.c Fri Dec 14 20:27:35 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 99, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +95. Only communication in your household is through email. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.100 b/app-editors/vim/files/6.0.100 new file mode 100644 index 000000000000..af841f8ad324 --- /dev/null +++ b/app-editors/vim/files/6.0.100 @@ -0,0 +1,75 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.100 +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 6.0.100 +Problem: ":badd +0 test%file" causes a crash. +Solution: Take into account that the "+0" is NUL terminated when allocating + room for replacing the "%". +Files: src/ex_docmd.c + + +*** ../vim60.99/src/ex_docmd.c Fri Nov 2 16:29:44 2001 +--- src/ex_docmd.c Sat Dec 15 21:34:01 2001 +*************** +*** 3330,3336 **** + /* + * Replace part of the command line, keeping eap->cmd, eap->arg and + * eap->nextcmd correct. +! * "src" points to the part that is to be replaced, of lenght "srclen". + * "repl" is the replacement string. + * Returns a pointer to the character after the replaced string. + * Returns NULL for failure. +--- 3330,3336 ---- + /* + * Replace part of the command line, keeping eap->cmd, eap->arg and + * eap->nextcmd correct. +! * "src" points to the part that is to be replaced, of length "srclen". + * "repl" is the replacement string. + * Returns a pointer to the character after the replaced string. + * Returns NULL for failure. +*************** +*** 3350,3358 **** + /* + * The new command line is build in new_cmdline[]. + * First allocate it. + */ + len = (int)STRLEN(repl); +! i = (int)STRLEN(*cmdlinep) + len + 3; + if (eap->nextcmd) + i += (int)STRLEN(eap->nextcmd);/* add space for next command */ + if ((new_cmdline = alloc((unsigned)i)) == NULL) +--- 3350,3359 ---- + /* + * The new command line is build in new_cmdline[]. + * First allocate it. ++ * Careful: a "+cmd" argument may have been NUL terminated. + */ + len = (int)STRLEN(repl); +! i = (int)(src - *cmdlinep) + (int)STRLEN(src + srclen) + len + 3; + if (eap->nextcmd) + i += (int)STRLEN(eap->nextcmd);/* add space for next command */ + if ((new_cmdline = alloc((unsigned)i)) == NULL) +*** ../vim60.99/src/version.c Sat Dec 15 21:39:19 2001 +--- src/version.c Sat Dec 15 21:05:08 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 100, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +116. You are living with your boyfriend who networks your respective + computers so you can sit in separate rooms and email each other + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.101 b/app-editors/vim/files/6.0.101 new file mode 100644 index 000000000000..dfda4b583c81 --- /dev/null +++ b/app-editors/vim/files/6.0.101 @@ -0,0 +1,46 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.101 +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 6.0.101 +Problem: ":mksession" doesn't restore editing a file that has a '#' or '%' + in its name. (Wolfgang Blankenburg) +Solution: Put a backslash before the '#' and '%'. +Files: src/ex_docmd.c + + +*** ../vim60.100/src/ex_docmd.c Sat Dec 15 21:40:46 2001 +--- src/ex_docmd.c Sat Dec 15 21:34:01 2001 +*************** +*** 8469,8474 **** +--- 8469,8476 ---- + #ifdef BACKSLASH_IN_FILENAME + && c != '\\' + #endif ++ || c == '#' ++ || c == '%' + ) + { + /* escape a special character with a backslash */ +*** ../vim60.100/src/version.c Sat Dec 15 21:40:46 2001 +--- src/version.c Sat Dec 15 21:41:44 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 101, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +117. You are more comfortable typing in html. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.102 b/app-editors/vim/files/6.0.102 new file mode 100644 index 000000000000..88c5ee630591 --- /dev/null +++ b/app-editors/vim/files/6.0.102 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.102 +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 6.0.102 +Problem: When changing folds the cursor may appear halfway a closed fold. + (Nam SungHyun) +Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto) +Files: src/move.c + + +*** ../vim60.101/src/move.c Tue Nov 6 21:48:06 2001 +--- src/move.c Thu Dec 27 17:19:17 2001 +*************** +*** 775,781 **** + /* a line that is too long to fit on the last screen line */ + wp->w_cline_height = 0; + #ifdef FEAT_FOLDING +! wp->w_cline_folded = FALSE; + #endif + } + else +--- 775,782 ---- + /* a line that is too long to fit on the last screen line */ + wp->w_cline_height = 0; + #ifdef FEAT_FOLDING +! wp->w_cline_folded = hasFoldingWin(wp, wp->w_cursor.lnum, +! NULL, NULL, TRUE, NULL); + #endif + } + else +*** ../vim60.101/src/version.c Sat Dec 15 21:56:10 2001 +--- src/version.c Sun Dec 30 17:24:29 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 102, + /**/ + +-- +Women are probably the main cause of free software starvation. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.103 b/app-editors/vim/files/6.0.103 new file mode 100644 index 000000000000..b68d1c8b4268 --- /dev/null +++ b/app-editors/vim/files/6.0.103 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.103 +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 6.0.103 +Problem: When using 'scrollbind' a large value of 'scrolloff' will make the + scroll binding stop near the end of the file. (Coen Engelbarts) +Solution: Don't use 'scrolloff' when limiting the topline for scroll + binding. (Dany StAmant) +Files: src/normal.c + + +*** ../vim60.102/src/normal.c Tue Nov 6 19:38:36 2001 +--- src/normal.c Thu Dec 13 10:16:13 2001 +*************** +*** 3497,3504 **** + { + curwin->w_scbind_pos += topline_diff; + topline = curwin->w_scbind_pos; +! if (topline > curbuf->b_ml.ml_line_count - p_so) +! topline = curbuf->b_ml.ml_line_count - p_so; + if (topline < 1) + topline = 1; + +--- 3497,3504 ---- + { + curwin->w_scbind_pos += topline_diff; + topline = curwin->w_scbind_pos; +! if (topline > curbuf->b_ml.ml_line_count) +! topline = curbuf->b_ml.ml_line_count; + if (topline < 1) + topline = 1; + +*** ../vim60.102/src/version.c Sun Dec 30 17:25:33 2001 +--- src/version.c Sun Dec 30 17:43:11 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 103, + /**/ + +-- +This sentence is not sure that it exists, but if it does, it will +certainly consider the possibility that other sentences exist. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.104 b/app-editors/vim/files/6.0.104 new file mode 100644 index 000000000000..80437980fc8f --- /dev/null +++ b/app-editors/vim/files/6.0.104 @@ -0,0 +1,139 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.104 +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 6.0.104 +Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide + character that overwrites the left halve of an old double-wide + character causes a redraw problem and the cursor stops blinking. +Solution: Clear the right half of the old character. (Yasuhiro Matsumoto) +Files: src/edit.c, src/screen.c + + +*** ../vim60.103/src/edit.c Thu Dec 13 19:15:02 2001 +--- src/edit.c Sun Dec 30 21:00:46 2001 +*************** +*** 329,334 **** +--- 329,340 ---- + else + State = INSERT; + ++ /* ++ * Need to recompute the cursor position, it might move when the cursor is ++ * on a TAB or special character. ++ */ ++ curs_columns(TRUE); ++ + if (curbuf->b_p_iminsert == B_IMODE_LMAP) + State |= LANGMAP; + #ifdef USE_IM_CONTROL +*************** +*** 338,349 **** + #if defined(FEAT_MBYTE) && defined(MACOS) + KeyScript(previous_script); + #endif +- +- /* +- * Need to recompute the cursor position, it might move when the cursor is +- * on a TAB or special character. +- */ +- curs_columns(TRUE); + + #ifdef FEAT_MOUSE + setmouse(); +--- 344,349 ---- +*** ../vim60.103/src/screen.c Sun Nov 4 19:10:16 2001 +--- src/screen.c Sun Dec 30 21:16:39 2001 +*************** +*** 4062,4070 **** + } + /* When writing a single-width character over a double-width + * character and at the end of the redrawn text, need to clear out +! * the right halve of the old character. */ +! if (has_mbyte && char_cells == 1 && col + 1 == endcol +! && (*mb_off2cells)(off_to) > 1) + clear_next = TRUE; + #endif + +--- 4062,4076 ---- + } + /* When writing a single-width character over a double-width + * character and at the end of the redrawn text, need to clear out +! * the right halve of the old character. +! * Also required when writing the right halve of a double-width +! * char over the left halve of an existing one. */ +! if (has_mbyte && col + char_cells == endcol +! && ((char_cells == 1 +! && (*mb_off2cells)(off_to) > 1) +! || (char_cells == 2 +! && (*mb_off2cells)(off_to) == 1 +! && (*mb_off2cells)(off_to + 1) > 1))) + clear_next = TRUE; + #endif + +*************** +*** 4355,4361 **** + } + + /* +! * Get the lenght of an item as it will be shown in that status line. + */ + static int + status_match_len(xp, s) +--- 4361,4367 ---- + } + + /* +! * Get the lenght of an item as it will be shown in the status line. + */ + static int + status_match_len(xp, s) +*************** +*** 5106,5114 **** + #ifdef FEAT_MBYTE + /* When at the end of the text and overwriting a two-cell + * character with a one-cell character, need to clear the next +! * cell. */ +! if (has_mbyte && mbyte_cells == 1 && ptr[mbyte_blen] == NUL +! && (*mb_off2cells)(off) > 1) + clear_next_cell = TRUE; + #endif + ScreenLines[off] = *ptr; +--- 5112,5124 ---- + #ifdef FEAT_MBYTE + /* When at the end of the text and overwriting a two-cell + * character with a one-cell character, need to clear the next +! * cell. Also when overwriting the left halve of a two-cell +! * char with the right halve of a two-cell char. */ +! if (has_mbyte && ptr[mbyte_blen] == NUL +! && ((mbyte_cells == 1 && (*mb_off2cells)(off) > 1) +! || (mbyte_cells == 2 +! && (*mb_off2cells)(off) == 1 +! && (*mb_off2cells)(off + 1) > 1))) + clear_next_cell = TRUE; + #endif + ScreenLines[off] = *ptr; +*** ../vim60.103/src/version.c Sun Dec 30 17:47:16 2001 +--- src/version.c Sun Dec 30 21:19:40 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 104, + /**/ + +-- +GALAHAD: Camelot ... +LAUNCELOT: Camelot ... +GAWAIN: It's only a model. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.105 b/app-editors/vim/files/6.0.105 new file mode 100644 index 000000000000..9dfc08409d33 --- /dev/null +++ b/app-editors/vim/files/6.0.105 @@ -0,0 +1,73 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.105 +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 6.0.105 +Problem: Multi-byte: In a window of one column wide, with syntax + highlighting enabled a crash might happen. +Solution: Skip getting the syntax attribute when the character doesn't fit + anyway. (Yasuhiro Matsumoto) +Files: src/screen.c + + +*** ../vim60.104/src/screen.c Sun Dec 30 21:23:29 2001 +--- src/screen.c Sun Dec 30 21:36:58 2001 +*************** +*** 3290,3303 **** + if (extra_check) + { + #ifdef FEAT_SYN_HL +! if (has_syntax) + { + /* Get the syntax attribute for the character. If there + * is an error, disable syntax highlighting. */ + save_did_emsg = did_emsg; + did_emsg = FALSE; + +- v = (long)(ptr - line); + syntax_attr = get_syntax_attr((colnr_T)v - 1); + + if (did_emsg) +--- 3290,3304 ---- + if (extra_check) + { + #ifdef FEAT_SYN_HL +! /* Get syntax attribute, unless still at the start of the line +! * (double-wide char that doesn't fit). */ +! if (has_syntax && (v = (long)(ptr - line)) > 0) + { + /* Get the syntax attribute for the character. If there + * is an error, disable syntax highlighting. */ + save_did_emsg = did_emsg; + did_emsg = FALSE; + + syntax_attr = get_syntax_attr((colnr_T)v - 1); + + if (did_emsg) +*** ../vim60.104/src/version.c Sun Dec 30 21:23:29 2001 +--- src/version.c Sun Dec 30 21:39:21 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 105, + /**/ + +-- + We're knights of the round table + We dance whene'er we're able + We do routines and chorus scenes + With footwork impeccable. + We dine well here in Camelot + We eat ham and jam and spam a lot. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.108 b/app-editors/vim/files/6.0.108 new file mode 100644 index 000000000000..6486f94882a2 --- /dev/null +++ b/app-editors/vim/files/6.0.108 @@ -0,0 +1,52 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.108 +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 6.0.108 +Problem: When using folding could try displaying line zero, resulting in an + error for a NULL pointer. +Solution: Stop decrementing w_topline when the first line of a window is in + a closed fold. +Files: src/window.c + + +*** ../vim60.107/src/window.c Mon Nov 5 09:52:01 2001 +--- src/window.c Sun Dec 30 22:23:22 2001 +*************** +*** 4072,4077 **** +--- 4072,4084 ---- + { + #ifdef FEAT_FOLDING + hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL); ++ if (lnum == 1) ++ { ++ /* first line in buffer is folded */ ++ line_size = 1; ++ --sline; ++ break; ++ } + #endif + --lnum; + #ifdef FEAT_DIFF +*** ../vim60.107/src/version.c Sun Dec 30 22:28:38 2001 +--- src/version.c Sun Dec 30 22:31:03 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 108, + /**/ + +-- +GOD: That is your purpose Arthur ... the Quest for the Holy Grail ... + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.109 b/app-editors/vim/files/6.0.109 new file mode 100644 index 000000000000..5edb7f5803a5 --- /dev/null +++ b/app-editors/vim/files/6.0.109 @@ -0,0 +1,58 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.109 +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 6.0.109 +Problem: XIM: When the input method is enabled, repeating an insertion with + "." disables it. (Marcel Svitalsky) +Solution: Don't store the input method status when a command comes from the + stuff buffer. +Files: src/ui.c + + +*** ../vim60.108/src/ui.c Tue Sep 25 19:25:37 2001 +--- src/ui.c Mon Dec 31 14:50:37 2001 +*************** +*** 2753,2760 **** + /* Don't save when 'imdisable' is set or "xic" is NULL, IM is always + * disabled then (but might start later). + * Also don't save when inside a mapping, vgetc_im_active has not been set +! * then. */ +! if (!p_imdisable && KeyTyped + # ifdef FEAT_XIM + && xic != NULL + # endif +--- 2753,2761 ---- + /* Don't save when 'imdisable' is set or "xic" is NULL, IM is always + * disabled then (but might start later). + * Also don't save when inside a mapping, vgetc_im_active has not been set +! * then. +! * And don't save when the keys were stuffed (e.g., for a "." command). */ +! if (!p_imdisable && KeyTyped && !KeyStuffed + # ifdef FEAT_XIM + && xic != NULL + # endif +*** ../vim60.108/src/version.c Sun Dec 30 22:32:00 2001 +--- src/version.c Mon Dec 31 14:54:05 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 109, + /**/ + +-- +ARTHUR: (as the MAN next to him is squashed by a sheep) Knights! Run away! + Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the odd + cow or goose hitting them still. The KNIGHTS crouch down under cover. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.110 b/app-editors/vim/files/6.0.110 new file mode 100644 index 000000000000..bc07789b7380 --- /dev/null +++ b/app-editors/vim/files/6.0.110 @@ -0,0 +1,106 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.110 +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 6.0.110 +Problem: Using undo after executing "OxjAxkdd" from a register in + an empty buffer gives an error message. (Gerhard Hochholzer) +Solution: Don't adjust the bottom line number of an undo block when it's + zero. Add a test for this problem. +Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok + + +*** ../vim60.109/src/undo.c Sat Nov 3 14:01:26 2001 +--- src/undo.c Mon Dec 31 15:32:57 2001 +*************** +*** 298,304 **** + for (p = curbuf->b_u_newhead->uh_entry; + p != uep; p = p->ue_next) + { +! p->ue_bot -= uep->ue_bot - newbot; + p->ue_top -= uep->ue_bot - newbot; + } + } +--- 298,305 ---- + for (p = curbuf->b_u_newhead->uh_entry; + p != uep; p = p->ue_next) + { +! if (p->ue_bot != 0) +! p->ue_bot -= uep->ue_bot - newbot; + p->ue_top -= uep->ue_bot - newbot; + } + } +*** ../vim60.109/src/testdir/test20.in Sun Dec 3 22:01:15 2000 +--- src/testdir/test20.in Mon Dec 31 15:29:09 2001 +*************** +*** 1,9 **** + Tests Blockwise Visual when there are TABs before the text. + + STARTTEST + :so tiny.vim +! /start +! jjlld:.,$w! test.out + :qa! + ENDTEST + +--- 1,16 ---- + Tests Blockwise Visual when there are TABs before the text. ++ First test for undo working properly when executing commands from a register. ++ Also test this in an empty buffer. + + STARTTEST + :so tiny.vim +! G0"ay$k@au +! :new +! @auY:quit! +! GP +! /start here$ +! jjlld +! :/here$/,$-1w! test.out + :qa! + ENDTEST + +*************** +*** 11,13 **** +--- 18,22 ---- + some text + test text + test text ++ ++ OxjAykdd +*** ../vim60.109/src/testdir/test20.ok Sun Aug 1 14:01:14 1999 +--- src/testdir/test20.ok Mon Dec 31 15:29:34 2001 +*************** +*** 2,4 **** +--- 2,6 ---- + somext + tesext + test text ++ ++ +*** ../vim60.109/src/version.c Mon Dec 31 15:35:23 2001 +--- src/version.c Mon Dec 31 15:34:29 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 110, + /**/ + +-- + A KNIGHT rides into shot and hacks him to the ground. He rides off. + We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A. + twin-set emerges from the trees and looks in horror at the body of her + HUSBAND. +MRS HISTORIAN: FRANK! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.111 b/app-editors/vim/files/6.0.111 new file mode 100644 index 000000000000..9568619b833f --- /dev/null +++ b/app-editors/vim/files/6.0.111 @@ -0,0 +1,50 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.111 +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 6.0.111 +Problem: The virtcol() function doesn't take care of 'virtualedit'. +Solution: Add the column offset when needed. (Yegappan Lakshmanan) +Files: src/eval.c + + +*** ../vim60.110/src/eval.c Sun Nov 4 14:31:23 2001 +--- src/eval.c Wed Dec 12 22:01:33 2001 +*************** +*** 6242,6248 **** + fp = var2fpos(&argvars[0], FALSE); + if (fp != NULL && fp->lnum <= curbuf->b_ml.ml_line_count) + { +! getvcol(curwin, fp, NULL, NULL, &vcol); + ++vcol; + } + +--- 6242,6248 ---- + fp = var2fpos(&argvars[0], FALSE); + if (fp != NULL && fp->lnum <= curbuf->b_ml.ml_line_count) + { +! getvvcol(curwin, fp, NULL, NULL, &vcol); + ++vcol; + } + +*** ../vim60.110/src/version.c Mon Dec 31 16:32:36 2001 +--- src/version.c Mon Dec 31 16:37:06 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 111, + /**/ + +-- +Error:015 - Unable to exit Windows. Try the door. + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.112 b/app-editors/vim/files/6.0.112 new file mode 100644 index 000000000000..0505d72a7dda --- /dev/null +++ b/app-editors/vim/files/6.0.112 @@ -0,0 +1,86 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.112 +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 6.0.112 +Problem: The explorer plugin doesn't sort directories with a space or + special character after a directory with a shorter name. +Solution: Ignore the trailing slash when comparing directory names. (Mike + Williams) +Files: runtime/plugin/explorer.vim + + +*** ../vim60.111/runtime/plugin/explorer.vim Tue Nov 6 22:02:12 2001 +--- runtime/plugin/explorer.vim Wed Nov 7 19:05:46 2001 +*************** +*** 1024,1030 **** + elseif (g:explSuffixesLast != 0) && (f1 !~ b:suffixesRegexp) && (f2 =~ b:suffixesRegexp) + return -g:explSuffixesLast + else +! return s:StrCmp(f1,f2,a:direction) + endif + + endfunction +--- 1024,1030 ---- + elseif (g:explSuffixesLast != 0) && (f1 !~ b:suffixesRegexp) && (f2 =~ b:suffixesRegexp) + return -g:explSuffixesLast + else +! return s:StrCmp(substitute(f1, "/$", "", ""), substitute(f2, "/$", "", ""), a:direction) + endif + + endfunction +*************** +*** 1054,1060 **** + elseif t1 < t2 + return a:direction + else +! return s:StrCmp(f1,f2,1) + endif + endfunction + +--- 1054,1060 ---- + elseif t1 < t2 + return a:direction + else +! return s:StrCmp(substitute(f1, "/$", "", ""), substitute(f2, "/$", "", ""), 1) + endif + endfunction + +*************** +*** 1082,1088 **** + elseif s1 < s2 + return a:direction + else +! return s:StrCmp(f1,f2,1) + endif + endfunction + +--- 1082,1088 ---- + elseif s1 < s2 + return a:direction + else +! return s:StrCmp(substitute(f1, "/$", "", ""), substitute(f2, "/$", "", ""), 1) + endif + endfunction + +*** ../vim60.111/src/version.c Mon Dec 31 16:39:26 2001 +--- src/version.c Mon Dec 31 16:46:48 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 112, + /**/ + +-- +press CTRL-ALT-DEL for more information + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.113 b/app-editors/vim/files/6.0.113 new file mode 100644 index 000000000000..d3c461e2c201 --- /dev/null +++ b/app-editors/vim/files/6.0.113 @@ -0,0 +1,151 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.113 +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 6.0.113 +Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also, + expanding wildcards with the shell may fail. (John Daniel) +Solution: Escape spaces with a backslash when needed. +Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c + + +*** ../vim60.112/src/ex_docmd.c Sat Dec 15 21:56:10 2001 +--- src/ex_docmd.c Mon Dec 31 17:28:09 2001 +*************** +*** 3297,3303 **** + if (vim_strchr(eap->arg, '$') != NULL + || vim_strchr(eap->arg, '~') != NULL) + { +! expand_env(eap->arg, NameBuff, MAXPATHL); + has_wildcards = mch_has_wildcard(NameBuff); + p = NameBuff; + } +--- 3297,3303 ---- + if (vim_strchr(eap->arg, '$') != NULL + || vim_strchr(eap->arg, '~') != NULL) + { +! expand_env_esc(eap->arg, NameBuff, MAXPATHL, TRUE); + has_wildcards = mch_has_wildcard(NameBuff); + p = NameBuff; + } +*** ../vim60.112/src/misc1.c Tue Nov 6 19:43:29 2001 +--- src/misc1.c Mon Dec 31 17:46:07 2001 +*************** +*** 2834,2839 **** +--- 2834,2849 ---- + char_u *dst; /* where to put the result */ + int dstlen; /* maximum length of the result */ + { ++ expand_env_esc(src, dst, dstlen, FALSE); ++ } ++ ++ void ++ expand_env_esc(src, dst, dstlen, esc) ++ char_u *src; /* input string e.g. "$HOME/vim.hlp" */ ++ char_u *dst; /* where to put the result */ ++ int dstlen; /* maximum length of the result */ ++ int esc; /* escape spaces in expanded variables */ ++ { + char_u *tail; + int c; + char_u *var; +*************** +*** 2999,3004 **** +--- 3009,3029 ---- + var = NULL; + tail = (char_u *)""; /* for gcc */ + #endif /* UNIX || VMS */ ++ } ++ ++ /* If "var" contains white space, escape it with a backslash. ++ * Required for ":e ~/tt" $HOME includes a space. */ ++ if (esc && var != NULL && vim_strpbrk(var, (char_u *)" \t") != NULL) ++ { ++ char_u *p = vim_strsave_escaped(var, (char_u *)" \t"); ++ ++ if (p != NULL) ++ { ++ if (mustfree) ++ vim_free(var); ++ var = p; ++ mustfree = TRUE; ++ } + } + + if (var != NULL && *var != NUL +*** ../vim60.112/src/proto/misc1.pro Tue Sep 25 21:49:20 2001 +--- src/proto/misc1.pro Mon Dec 31 17:26:25 2001 +*************** +*** 46,51 **** +--- 46,52 ---- + void vim_beep __ARGS((void)); + void init_homedir __ARGS((void)); + void expand_env __ARGS((char_u *src, char_u *dst, int dstlen)); ++ void expand_env_esc __ARGS((char_u *src, char_u *dst, int dstlen, int esc)); + char_u *vim_getenv __ARGS((char_u *name, int *mustfree)); + char_u *expand_env_save __ARGS((char_u *src)); + void vim_setenv __ARGS((char_u *name, char_u *val)); +*** ../vim60.112/src/os_unix.c Wed Oct 31 14:21:02 2001 +--- src/os_unix.c Mon Dec 31 17:41:29 2001 +*************** +*** 4277,4289 **** + if (shell_style != STYLE_BT) + for (i = 0; i < num_pat; ++i) + { +! #ifdef USE_SYSTEM +! STRCAT(command, " \""); /* need extra quotes because we */ +! STRCAT(command, pat[i]); /* start the shell twice */ +! STRCAT(command, "\""); +! #else +! STRCAT(command, " "); +! STRCAT(command, pat[i]); + #endif + } + if (flags & EW_SILENT) +--- 4277,4299 ---- + if (shell_style != STYLE_BT) + for (i = 0; i < num_pat; ++i) + { +! /* When using system() always add extra quotes, because the shell +! * is started twice. Otherwise it's only needed when the pattern +! * includes spaces or single quotes. */ +! #ifndef USE_SYSTEM +! if (vim_strpbrk(pat[i], " '") != NULL) +! #endif +! { +! STRCAT(command, " \""); +! STRCAT(command, pat[i]); +! STRCAT(command, "\""); +! } +! #ifndef USE_SYSTEM +! else +! { +! STRCAT(command, " "); +! STRCAT(command, pat[i]); +! } + #endif + } + if (flags & EW_SILENT) +*** ../vim60.112/src/version.c Mon Dec 31 16:49:06 2001 +--- src/version.c Mon Dec 31 17:43:12 2001 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 113, + /**/ + +-- +Microsoft: "Windows NT 4.0 now has the same user-interface as Windows 95" + Windows 95: "Press CTRL-ALT-DEL to reboot" +Windows NT 4.0: "Press CTRL-ALT-DEL to login" + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.114 b/app-editors/vim/files/6.0.114 new file mode 100644 index 000000000000..c995be08480c --- /dev/null +++ b/app-editors/vim/files/6.0.114 @@ -0,0 +1,74 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.114 +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 6.0.114 +Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a + full path. For Win32 the current directory was prepended. + (Michael Geddes) +Solution: Expand the home directory. +Files: src/eval.c + + +*** ../vim60.113/src/eval.c Mon Dec 31 16:39:26 2001 +--- src/eval.c Tue Jan 1 15:09:37 2002 +*************** +*** 8564,8571 **** + { + valid |= VALID_PATH; + *usedlen += 2; + /* FullName_save() is slow, don't use it when not needed. */ +! if (!vim_isAbsName(*fnamep)) + { + *fnamep = FullName_save(*fnamep, FALSE); + vim_free(*bufp); /* free any allocated file name */ +--- 8564,8590 ---- + { + valid |= VALID_PATH; + *usedlen += 2; ++ ++ /* Expand "~/path" for all systems and "~user/path" for Unix and VMS */ ++ if ((*fnamep)[0] == '~' ++ #if !defined(UNIX) && !(defined(VMS) && defined(USER_HOME)) ++ && ((*fnamep)[1] == '/' ++ # ifdef BACKSLASH_IN_FILENAME ++ || (*fnamep)[1] == '\\' ++ # endif ++ || (*fnamep)[1] == NUL) ++ ++ #endif ++ ) ++ { ++ *fnamep = expand_env_save(*fnamep); ++ vim_free(*bufp); /* free any allocated file name */ ++ *bufp = *fnamep; ++ if (*fnamep == NULL) ++ return -1; ++ } + /* FullName_save() is slow, don't use it when not needed. */ +! else if (!vim_isAbsName(*fnamep)) + { + *fnamep = FullName_save(*fnamep, FALSE); + vim_free(*bufp); /* free any allocated file name */ +*** ../vim60.113/src/version.c Mon Dec 31 17:47:49 2001 +--- src/version.c Tue Jan 1 15:14:01 2002 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 114, + /**/ + +-- +Microsoft's definition of a boolean: TRUE, FALSE, MAYBE +"Embrace and extend"...? + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/6.0.118 b/app-editors/vim/files/6.0.118 new file mode 100644 index 000000000000..bb0d89e16f9b --- /dev/null +++ b/app-editors/vim/files/6.0.118 @@ -0,0 +1,80 @@ +To: vim-dev@vim.org +Subject: Patch 6.0.118 +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 6.0.118 +Problem: When $TMPDIR is a relative path, the temp directory is missing a + trailing slash and isn't deleted when Vim exits. (Peter Holm) +Solution: Add the slash after expanding the directory to an absolute path. +Files: src/fileio.c + + +*** ../vim60.117/src/fileio.c Mon Nov 5 21:01:58 2001 +--- src/fileio.c Wed Jan 2 17:03:40 2002 +*************** +*** 5371,5386 **** + #endif + if (r == 0) + { +! /* Directory was created, use this name. */ + # ifdef __EMX__ +! if (vim_strchr(itmp, '/') != NULL) +! STRCAT(itmp, "/"); +! else + # endif +! add_pathsep(itmp); +! /* Use the full path; When using the current directory +! * a ":cd" would confuse us. */ +! vim_tempdir = FullName_save(itmp, FALSE); + break; + } + # ifdef EEXIST +--- 5371,5396 ---- + #endif + if (r == 0) + { +! char_u *buf; +! +! /* Directory was created, use this name. +! * Expand to full path; When using the current +! * directory a ":cd" would confuse us. */ +! buf = alloc((unsigned)MAXPATHL + 1); +! if (buf != NULL) +! { +! if (vim_FullName(itmp, buf, MAXPATHL, FALSE) +! == FAIL) +! STRCPY(buf, itmp); + # ifdef __EMX__ +! if (vim_strchr(buf, '/') != NULL) +! STRCAT(buf, "/"); +! else + # endif +! add_pathsep(buf); +! vim_tempdir = vim_strsave(buf); +! vim_free(buf); +! } + break; + } + # ifdef EEXIST +*** ../vim60.117/src/version.c Tue Jan 1 23:08:31 2002 +--- src/version.c Wed Jan 2 17:07:07 2002 +*************** +*** 608,609 **** +--- 608,611 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 118, + /**/ + +-- +"My particular problem is with registry entries, which seem to just accumulate +like plastic coffee cups..." -- Paul Moore + + /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ +((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) + \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org /// diff --git a/app-editors/vim/files/digest-vim-6.0-r3 b/app-editors/vim/files/digest-vim-6.0-r3 new file mode 100644 index 000000000000..830e2f5d12ec --- /dev/null +++ b/app-editors/vim/files/digest-vim-6.0-r3 @@ -0,0 +1 @@ +MD5 9d9ca84d489af6b3f54639dd97af3774 vim-6.0.tar.bz2 2781184 diff --git a/app-editors/vim/vim-6.0-r3.ebuild b/app-editors/vim/vim-6.0-r3.ebuild new file mode 100644 index 000000000000..5b8f499bb038 --- /dev/null +++ b/app-editors/vim/vim-6.0-r3.ebuild @@ -0,0 +1,195 @@ +# Copyright 2001 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Authors Ben Beuchler <insyte@mazer.squad51.net> +# and Aron Griffis <agriffis@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/vim-6.0-r3.ebuild,v 1.1 2002/01/06 22:32:01 agriffis Exp $ + +# Please name the ebuild as follows. If this is followed, there +# should be no need to modify this ebuild when the Vim version is +# updated. (Yes it's overkill, but it was fun!) +# +# vim-6.0, when 6.0 is finally released +# vim-6.0_pre9, where 9 = (i), for vim-6.0i +# vim-6.0_pre47, where 47 = 26(a) + 21(u), for vim-6.0au +# vim-6.0_pre72, where 72 = 52(b) + 20(t), for vim-6.0bt +# +# Quick reference: +# a=1 e=5 i=9 m=13 q=17 u=21 y=25 +# b=2 f=6 j=10 n=14 r=18 v=22 z=26 +# c=3 g=7 k=11 o=15 s=19 w=23 aa=27 +# d=4 h=8 l=12 p=16 t=20 x=24 ab=28 (etc.) +# +# (08 Sep 2001 agriffis) + +# Calculate the version based on the name of the ebuild +vim_version="${PV%_pre*}" +vim_pre="${PV##*_pre}" +if [ "$vim_version" = "$vim_pre" ]; then + # Final releases prior to 6.0 include a dash and decimal point in + # the directory name + if [ "${vim_version%%.*}" -lt 6 ]; then + S="$WORKDIR/vim-$vim_version" + else + S="$WORKDIR/vim${vim_version//.}" + fi + vim_letters= + A="vim-$vim_version.tar.bz2" + SRC_URI="ftp://ftp.us.vim.org/pub/vim/unix/$A + ftp://ftp.vim.org/pub/vim/unix/$A" +elif [ "$vim_pre" -lt 27 ]; then + # Handle (prerelease) versions with one trailing letter + vim_letters=`echo $vim_pre | awk '{printf "%c", $0+96}'` + S="$WORKDIR/vim${vim_version//.}$vim_letters" + A="vim-$vim_version$vim_letters.tar.bz2" + SRC_URI="ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A + ftp://ftp.vim.org/pub/vim/unreleased/unix/$A" +elif [ "$vim_pre" -lt 703 ]; then + # Handle (prerelease) versions with two trailing letters + vim_letters=`echo $vim_pre | awk '{printf "%c%c", $0/26+96, $0%26+96}'` + S="$WORKDIR/vim${vim_version//.}$vim_letters" + A="vim-$vim_version$vim_letters.tar.bz2" + SRC_URI="ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A + ftp://ftp.vim.org/pub/vim/unreleased/unix/$A" +else + die "Eek! I don't know how to interpret the version!" +fi + +# Add in 6.0 patches +# +# For some reason this doesn't work. Portage never fetches these +# patches. For the moment I'm putting them in vim/files until this is +# resolved. +# +#if [ "$PV" = 6.0 ]; then +# SRC_URI="$SRC_URI +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.001 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.002 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.003 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.004 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.005 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.006 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.007 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.010 +# ftp://ftp.us.vim.org/pub/vim/patches/6.0.011 +# ftp://ftp.vim.org/pub/vim/patches/6.0.001 +# ftp://ftp.vim.org/pub/vim/patches/6.0.002 +# ftp://ftp.vim.org/pub/vim/patches/6.0.003 +# ftp://ftp.vim.org/pub/vim/patches/6.0.004 +# ftp://ftp.vim.org/pub/vim/patches/6.0.005 +# ftp://ftp.vim.org/pub/vim/patches/6.0.006 +# ftp://ftp.vim.org/pub/vim/patches/6.0.007 +# ftp://ftp.vim.org/pub/vim/patches/6.0.010 +# ftp://ftp.vim.org/pub/vim/patches/6.0.011" +#fi + +DESCRIPTION="Vi IMproved! ${PV}" +HOMEPAGE="http://www.vim.org/" + +DEPEND="virtual/glibc + >=sys-libs/ncurses-5.2-r2 + dev-util/cscope + gpm? ( >=sys-libs/gpm-1.19.3 ) + gnome? ( >=gnome-base/gnome-libs-1.4.1.2-r1 ) + gtk? ( >=x11-libs/gtk+-1.2.10-r4 ) + X? ( x11-base/xfree ) + perl? ( sys-devel/perl ) + python? ( dev-lang/python ) + ruby? ( >=dev-lang/ruby-1.6.4 )" +# tcltk? ( dev-lang/tcl-tk )" +# It appears that the tclinterp stuff in Vim is broken right now. +# When you --enable-tclinterp flag, then the following command never +# returns: +# +# VIMINIT='let OS = system("uname -s")' vim +# +# Please don't re-enable the tclinterp flag without verifying first +# that the above works. Thanks. (08 Sep 2001 agriffis) + +src_unpack() { + unpack $A + # Fixup a script to use awk instead of nawk + cd $S/runtime/tools + mv mve.awk mve.awk.old + ( read l; echo "#!/usr/bin/awk -f"; cat ) <mve.awk.old >mve.awk + # Apply patches, if appropriate + local patches=`echo $FILESDIR/$PV.[0-9][0-9][0-9]` + case "$patches" in + *\]) + break # globbing didn't work; no patches available + ;; + *) + cd $S + for a in $patches; do + patch -p0 < $a || echo $a >> /tmp/badpatches + done + ;; + esac +} + +src_compile() { + local myconf + use nls || myconf="--disable-nls" + use gpm || myconf="$myconf --disable-gpm" + use perl && myconf="$myconf --enable-perlinterp" + use python && myconf="$myconf --enable-pythoninterp" + use ruby && myconf="$myconf --enable-rubyinterp" +# tclinterp is BROKEN. See note above DEPEND= +# use tcltk && myconf="$myconf --enable-tclinterp" + + # + # First, build a gui version, this will install as /usr/bin/gvim + # + if use gnome; then + guiconf="--enable-gui=gnome --with-x" + elif use gtk; then + guiconf="--enable-gui=gtk --with-x" + elif use X; then + guiconf="--enable-gui=athena --with-x" + else + # No gui version will be built + guiconf="" + fi + if [ -n "$guiconf" ]; then + ./configure \ + --prefix=/usr --mandir=/usr/share/man --host=$CHOST \ + --enable-max-features --enable-cscope $myconf $guiconf \ + || die "gvim configure failed" + # Parallel make does not work + make || die "gvim make failed" + mv src/vim src/gvim + fi + + # + # Second, build a nogui version, this will install as /usr/bin/vim + # + ./configure \ + --prefix=/usr --mandir=/usr/share/man --host=$CHOST \ + --enable-max-features --with-cscope $myconf \ + --enable-gui=no --without-x \ + || die "vim configure failed" + # Parallel make does not work + make || die "vim make failed" +} + +src_install() { + # Install the nogui version + mkdir -p $D/usr/{bin,share/man/man1,share/vim} + make install STRIP=true DESTDIR=$D \ + BINDIR=/usr/bin MANDIR=/usr/share/man DATADIR=/usr/share + # Install the gui version, if it was built + if [ -f src/gvim ]; then + install -m755 src/gvim $D/usr/bin/gvim + ln -s gvim $D/usr/bin/gvimdiff + fi + # Docs + dodoc README* + cd $D/usr/share/doc/$PF + ln -s ../../vim/*/doc $P + # Default .vimrc for users (this should be revisited) + insinto /etc/skel + newins $FILESDIR/vimrc .vimrc + # Don't install .vimrc for root since it might overwrite root's + # current .vimrc, if it exists. + #mkdir -p $D/root + #install -m644 $FILESDIR/vimrc $D/root/.vimrc +} |