summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Griffis <agriffis@gentoo.org>2002-01-06 22:32:03 +0000
committerAron Griffis <agriffis@gentoo.org>2002-01-06 22:32:03 +0000
commitafdbc698ba3bcdc2588324950964e0d01e7d66b5 (patch)
tree2875958b6446be0c6bac0d5ba8a7993c64667682 /app-editors
parentfix the default.tar.bz2 digest problem by having it on ibiblio with a differe... (diff)
downloadhistorical-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')
-rw-r--r--app-editors/vim/files/6.0.019110
-rw-r--r--app-editors/vim/files/6.0.02098
-rw-r--r--app-editors/vim/files/6.0.02151
-rw-r--r--app-editors/vim/files/6.0.02247
-rw-r--r--app-editors/vim/files/6.0.02368
-rw-r--r--app-editors/vim/files/6.0.02449
-rw-r--r--app-editors/vim/files/6.0.02566
-rw-r--r--app-editors/vim/files/6.0.02658
-rw-r--r--app-editors/vim/files/6.0.02862
-rw-r--r--app-editors/vim/files/6.0.029230
-rw-r--r--app-editors/vim/files/6.0.030382
-rw-r--r--app-editors/vim/files/6.0.031413
-rw-r--r--app-editors/vim/files/6.0.03248
-rw-r--r--app-editors/vim/files/6.0.03358
-rw-r--r--app-editors/vim/files/6.0.03452
-rw-r--r--app-editors/vim/files/6.0.03552
-rw-r--r--app-editors/vim/files/6.0.03686
-rw-r--r--app-editors/vim/files/6.0.03784
-rw-r--r--app-editors/vim/files/6.0.03856
-rw-r--r--app-editors/vim/files/6.0.039108
-rw-r--r--app-editors/vim/files/6.0.040221
-rw-r--r--app-editors/vim/files/6.0.041139
-rw-r--r--app-editors/vim/files/6.0.042118
-rw-r--r--app-editors/vim/files/6.0.04376
-rw-r--r--app-editors/vim/files/6.0.044184
-rw-r--r--app-editors/vim/files/6.0.04560
-rw-r--r--app-editors/vim/files/6.0.046159
-rw-r--r--app-editors/vim/files/6.0.04789
-rw-r--r--app-editors/vim/files/6.0.049146
-rw-r--r--app-editors/vim/files/6.0.05057
-rw-r--r--app-editors/vim/files/6.0.05180
-rw-r--r--app-editors/vim/files/6.0.052187
-rw-r--r--app-editors/vim/files/6.0.054238
-rw-r--r--app-editors/vim/files/6.0.055139
-rw-r--r--app-editors/vim/files/6.0.05658
-rw-r--r--app-editors/vim/files/6.0.057109
-rw-r--r--app-editors/vim/files/6.0.05848
-rw-r--r--app-editors/vim/files/6.0.05960
-rw-r--r--app-editors/vim/files/6.0.06068
-rw-r--r--app-editors/vim/files/6.0.06180
-rw-r--r--app-editors/vim/files/6.0.06261
-rw-r--r--app-editors/vim/files/6.0.06359
-rw-r--r--app-editors/vim/files/6.0.065164
-rw-r--r--app-editors/vim/files/6.0.06655
-rw-r--r--app-editors/vim/files/6.0.06751
-rw-r--r--app-editors/vim/files/6.0.06882
-rw-r--r--app-editors/vim/files/6.0.06953
-rw-r--r--app-editors/vim/files/6.0.071128
-rw-r--r--app-editors/vim/files/6.0.07279
-rw-r--r--app-editors/vim/files/6.0.07482
-rw-r--r--app-editors/vim/files/6.0.075282
-rw-r--r--app-editors/vim/files/6.0.07645
-rw-r--r--app-editors/vim/files/6.0.07752
-rw-r--r--app-editors/vim/files/6.0.07873
-rw-r--r--app-editors/vim/files/6.0.079116
-rw-r--r--app-editors/vim/files/6.0.08062
-rw-r--r--app-editors/vim/files/6.0.08186
-rw-r--r--app-editors/vim/files/6.0.08268
-rw-r--r--app-editors/vim/files/6.0.08370
-rw-r--r--app-editors/vim/files/6.0.08453
-rw-r--r--app-editors/vim/files/6.0.08548
-rw-r--r--app-editors/vim/files/6.0.08686
-rw-r--r--app-editors/vim/files/6.0.08855
-rw-r--r--app-editors/vim/files/6.0.089150
-rw-r--r--app-editors/vim/files/6.0.090145
-rw-r--r--app-editors/vim/files/6.0.09172
-rw-r--r--app-editors/vim/files/6.0.09290
-rw-r--r--app-editors/vim/files/6.0.09392
-rw-r--r--app-editors/vim/files/6.0.09469
-rw-r--r--app-editors/vim/files/6.0.09546
-rw-r--r--app-editors/vim/files/6.0.096147
-rw-r--r--app-editors/vim/files/6.0.09753
-rw-r--r--app-editors/vim/files/6.0.09861
-rw-r--r--app-editors/vim/files/6.0.09960
-rw-r--r--app-editors/vim/files/6.0.10075
-rw-r--r--app-editors/vim/files/6.0.10146
-rw-r--r--app-editors/vim/files/6.0.10252
-rw-r--r--app-editors/vim/files/6.0.10355
-rw-r--r--app-editors/vim/files/6.0.104139
-rw-r--r--app-editors/vim/files/6.0.10573
-rw-r--r--app-editors/vim/files/6.0.10852
-rw-r--r--app-editors/vim/files/6.0.10958
-rw-r--r--app-editors/vim/files/6.0.110106
-rw-r--r--app-editors/vim/files/6.0.11150
-rw-r--r--app-editors/vim/files/6.0.11286
-rw-r--r--app-editors/vim/files/6.0.113151
-rw-r--r--app-editors/vim/files/6.0.11474
-rw-r--r--app-editors/vim/files/6.0.11880
-rw-r--r--app-editors/vim/files/digest-vim-6.0-r31
-rw-r--r--app-editors/vim/vim-6.0-r3.ebuild195
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
+}