summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Phillips <rphillips@gentoo.org>2002-05-19 08:52:32 +0000
committerRyan Phillips <rphillips@gentoo.org>2002-05-19 08:52:32 +0000
commit37c418b5b58bf51ad973b291bb714c3df874c97d (patch)
tree3c9fc69543625166cb7c6bd9251437e8b520454a /app-editors/vim
parentversion bump (diff)
downloadgentoo-2-37c418b5b58bf51ad973b291bb714c3df874c97d.tar.gz
gentoo-2-37c418b5b58bf51ad973b291bb714c3df874c97d.tar.bz2
gentoo-2-37c418b5b58bf51ad973b291bb714c3df874c97d.zip
Added more patches from vim.org
Diffstat (limited to 'app-editors/vim')
-rw-r--r--app-editors/vim/ChangeLog8
-rw-r--r--app-editors/vim/files/6.1.04574
-rw-r--r--app-editors/vim/files/6.1.04677
-rw-r--r--app-editors/vim/files/6.1.047118
-rw-r--r--app-editors/vim/files/6.1.05049
-rw-r--r--app-editors/vim/files/6.1.05146
-rw-r--r--app-editors/vim/files/6.1.052150
-rw-r--r--app-editors/vim/files/6.1.05383
-rw-r--r--app-editors/vim/files/6.1.054236
-rw-r--r--app-editors/vim/files/6.1.055147
-rw-r--r--app-editors/vim/files/6.1.056101
-rw-r--r--app-editors/vim/files/6.1.05756
-rw-r--r--app-editors/vim/files/6.1.05852
-rw-r--r--app-editors/vim/files/6.1.059109
-rw-r--r--app-editors/vim/files/6.1.06066
-rw-r--r--app-editors/vim/files/6.1.06192
-rw-r--r--app-editors/vim/files/6.1.06292
-rw-r--r--app-editors/vim/files/6.1.06389
-rw-r--r--app-editors/vim/files/6.1.064435
-rw-r--r--app-editors/vim/files/6.1.06753
-rw-r--r--app-editors/vim/files/6.1.06852
-rw-r--r--app-editors/vim/files/6.1.06970
-rw-r--r--app-editors/vim/files/6.1.07052
-rw-r--r--app-editors/vim/files/6.1.07149
-rw-r--r--app-editors/vim/files/6.1.072208
-rw-r--r--app-editors/vim/files/6.1.074253
-rw-r--r--app-editors/vim/files/digest-vim-6.1-r61
-rw-r--r--app-editors/vim/vim-6.1-r6.ebuild172
28 files changed, 2989 insertions, 1 deletions
diff --git a/app-editors/vim/ChangeLog b/app-editors/vim/ChangeLog
index d3279bc6eb71..a080caebf92d 100644
--- a/app-editors/vim/ChangeLog
+++ b/app-editors/vim/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-editors/vim
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.10 2002/04/30 07:49:23 rphillips Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.11 2002/05/19 08:49:54 rphillips Exp $
+
+*vim-6.1-r6 (19 May 2002)
+
+ 19 May 2002; Ryan Phillips <rphillips@gentoo.org> vim-6.1-r6.ebuild :
+
+ Added more patches to files/
*vim-6.1-r5 (30 Apr 2002)
diff --git a/app-editors/vim/files/6.1.045 b/app-editors/vim/files/6.1.045
new file mode 100644
index 000000000000..bb4c617339e3
--- /dev/null
+++ b/app-editors/vim/files/6.1.045
@@ -0,0 +1,74 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.045
+Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999,
+ moving the cursor down near the end of the file causes the text to
+ jump up and down. (Lubomir Host)
+Solution: Take into account that the cursor may be on the last line of a
+ closed fold.
+Files: src/move.c
+
+
+*** ../vim61.044/src/move.c Sat Mar 16 16:41:26 2002
+--- src/move.c Thu May 2 19:50:31 2002
+***************
+*** 2078,2092 ****
+ lineoff_T boff;
+
+ loff.lnum = boff.lnum = curwin->w_cursor.lnum;
+ #ifdef FEAT_DIFF
+ used = plines_nofill(loff.lnum);
+ loff.fill = 0;
+ boff.fill = 0;
+ #else
+ used = plines(loff.lnum);
+- #endif
+- #ifdef FEAT_FOLDING
+- (void)hasFolding(boff.lnum, NULL, &boff.lnum);
+ #endif
+ topline = loff.lnum;
+ while (topline > 1)
+--- 2078,2092 ----
+ lineoff_T boff;
+
+ loff.lnum = boff.lnum = curwin->w_cursor.lnum;
++ #ifdef FEAT_FOLDING
++ (void)hasFolding(loff.lnum, &loff.lnum, &boff.lnum);
++ #endif
+ #ifdef FEAT_DIFF
+ used = plines_nofill(loff.lnum);
+ loff.fill = 0;
+ boff.fill = 0;
+ #else
+ used = plines(loff.lnum);
+ #endif
+ topline = loff.lnum;
+ while (topline > 1)
+*** ../vim61.044/src/version.c Wed May 1 21:20:47 2002
+--- src/version.c Thu May 2 19:48:29 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 45,
+ /**/
+
+--
+ARTHUR: But if he was dying, he wouldn't bother to carve
+ "Aaaaarrrrrrggghhh". He'd just say it.
+BROTHER MAYNARD: It's down there carved in stone.
+GALAHAD: Perhaps he was dictating.
+ "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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.046 b/app-editors/vim/files/6.1.046
new file mode 100644
index 000000000000..b8a44f906ad5
--- /dev/null
+++ b/app-editors/vim/files/6.1.046
@@ -0,0 +1,77 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.046
+Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black
+ rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor
+ disappear. (Nam SungHyun)
+Solution: Correctly compute the height of the horizontal cursor.
+Files: src/gui_gtk_x11.c, src/gui_x11.c
+
+
+*** ../vim61.045/src/gui_gtk_x11.c Wed Mar 13 21:19:58 2002
+--- src/gui_gtk_x11.c Fri May 3 20:43:39 2002
+***************
+*** 3245,3252 ****
+ !(State & CMDLINE) && curwin->w_p_rl ? FILL_X(gui.col + 1) - w :
+ #endif
+ FILL_X(gui.col),
+! FILL_Y(gui.row) + gui.char_height - h + (int)p_linespace / 2,
+! w, h - (int)p_linespace);
+ }
+
+
+--- 3245,3252 ----
+ !(State & CMDLINE) && curwin->w_p_rl ? FILL_X(gui.col + 1) - w :
+ #endif
+ FILL_X(gui.col),
+! FILL_Y(gui.row) + gui.char_height - h,
+! w, h);
+ }
+
+
+*** ../vim61.045/src/gui_x11.c Sun Mar 17 22:05:55 2002
+--- src/gui_x11.c Fri May 3 20:45:52 2002
+***************
+*** 2573,2580 ****
+ !(State & CMDLINE) && curwin->w_p_rl ? FILL_X(gui.col + 1) - w :
+ #endif
+ FILL_X(gui.col),
+! FILL_Y(gui.row) + gui.char_height - h + (int)p_linespace / 2,
+! w, h - (int)p_linespace);
+ }
+
+ /*
+--- 2573,2580 ----
+ !(State & CMDLINE) && curwin->w_p_rl ? FILL_X(gui.col + 1) - w :
+ #endif
+ FILL_X(gui.col),
+! FILL_Y(gui.row) + gui.char_height - h,
+! w, h);
+ }
+
+ /*
+*** ../vim61.045/src/version.c Thu May 2 19:52:55 2002
+--- src/version.c Fri May 3 20:49:39 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 46,
+ /**/
+
+--
+Kisses may last for as much as, but no more than, five minutes.
+ [real standing law in Iowa, 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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.047 b/app-editors/vim/files/6.1.047
new file mode 100644
index 000000000000..11c1f8a55d22
--- /dev/null
+++ b/app-editors/vim/files/6.1.047
@@ -0,0 +1,118 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.047
+Problem: When skipping commands after an error was encountered, expressions
+ for ":if", ";elseif" and ":while" are still evaluated.
+Solution: Skip the expression after an error. (Servatius Brandt)
+Files: src/ex_docmd.c
+
+
+*** ../vim61.046/src/ex_docmd.c Wed May 1 19:40:35 2002
+--- src/ex_docmd.c Fri May 3 22:06:38 2002
+***************
+*** 7197,7202 ****
+--- 7197,7205 ----
+
+ #ifdef FEAT_EVAL
+
++ /*
++ * ":if".
++ */
+ static void
+ ex_if(eap)
+ exarg_T *eap;
+***************
+*** 7214,7223 ****
+ cstack->cs_flags[cstack->cs_idx] = 0;
+
+ /*
+! * Don't do something when there is a surrounding conditional and it
+! * was not active.
+ */
+! skip = (cstack->cs_idx > 0
+ && !(cstack->cs_flags[cstack->cs_idx - 1] & CSF_ACTIVE));
+
+ result = eval_to_bool(eap->arg, &error, &eap->nextcmd, skip);
+--- 7217,7226 ----
+ cstack->cs_flags[cstack->cs_idx] = 0;
+
+ /*
+! * Don't do something after an error or when there is a surrounding
+! * conditional and it was not active.
+ */
+! skip = did_emsg || (cstack->cs_idx > 0
+ && !(cstack->cs_flags[cstack->cs_idx - 1] & CSF_ACTIVE));
+
+ result = eval_to_bool(eap->arg, &error, &eap->nextcmd, skip);
+***************
+*** 7269,7278 ****
+ else
+ {
+ /*
+! * Don't do something when there is a surrounding conditional and it
+! * was not active.
+ */
+! skip = (cstack->cs_idx > 0
+ && !(cstack->cs_flags[cstack->cs_idx - 1] & CSF_ACTIVE));
+ if (!skip)
+ {
+--- 7272,7281 ----
+ else
+ {
+ /*
+! * Don't do something after an error or when there is a surrounding
+! * conditional and it was not active.
+ */
+! skip = did_emsg || (cstack->cs_idx > 0
+ && !(cstack->cs_flags[cstack->cs_idx - 1] & CSF_ACTIVE));
+ if (!skip)
+ {
+***************
+*** 7332,7341 ****
+ cstack->cs_flags[cstack->cs_idx] = CSF_WHILE;
+
+ /*
+! * Don't do something when there is a surrounding conditional and it
+! * was not active.
+ */
+! skip = (cstack->cs_idx > 0
+ && !(cstack->cs_flags[cstack->cs_idx - 1] & CSF_ACTIVE));
+ result = eval_to_bool(eap->arg, &error, &eap->nextcmd, skip);
+
+--- 7335,7344 ----
+ cstack->cs_flags[cstack->cs_idx] = CSF_WHILE;
+
+ /*
+! * Don't do something after an error or when there is a surrounding
+! * conditional and it was not active.
+ */
+! skip = did_emsg || (cstack->cs_idx > 0
+ && !(cstack->cs_flags[cstack->cs_idx - 1] & CSF_ACTIVE));
+ result = eval_to_bool(eap->arg, &error, &eap->nextcmd, skip);
+
+*** ../vim61.046/src/version.c Fri May 3 22:02:55 2002
+--- src/version.c Fri May 3 22:08:52 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 47,
+ /**/
+
+--
+Biting someone with your natural teeth is "simple assault," while biting
+someone with your false teeth is "aggravated assault."
+ [real standing law in Louisana, 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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.050 b/app-editors/vim/files/6.1.050
new file mode 100644
index 000000000000..328242e9920a
--- /dev/null
+++ b/app-editors/vim/files/6.1.050
@@ -0,0 +1,49 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.050
+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.1.050 (depends on 6.1.049)
+Problem: After patch 6.1.049 the non-GUI version doesn't compile.
+Solution: Add an #ifdef FEAT_GUI. (Robert Stanton)
+Files: src/syntax.c
+
+
+*** ../vim61.049/src/syntax.c Sat May 4 22:25:13 2002
+--- src/syntax.c Sun May 5 12:01:50 2002
+***************
+*** 7851,7858 ****
+--- 7851,7860 ----
+ vim_memset(&(HL_TABLE()[highlight_ga.ga_len]), 0, sizeof(struct hl_group));
+ HL_TABLE()[highlight_ga.ga_len].sg_name = name;
+ HL_TABLE()[highlight_ga.ga_len].sg_name_u = vim_strsave_up(name);
++ #ifdef FEAT_GUI
+ HL_TABLE()[highlight_ga.ga_len].sg_gui_bg = INVALCOLOR;
+ HL_TABLE()[highlight_ga.ga_len].sg_gui_fg = INVALCOLOR;
++ #endif
+ ++highlight_ga.ga_len;
+ --highlight_ga.ga_room;
+
+*** ../vim61.049/src/version.c Sat May 4 22:25:13 2002
+--- src/version.c Sun May 5 12:09:23 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 50,
+ /**/
+
+--
+A special cleaning ordinance bans housewives from hiding dirt and dust under a
+rug in a dwelling.
+ [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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.051 b/app-editors/vim/files/6.1.051
new file mode 100644
index 000000000000..781b0c8ab45f
--- /dev/null
+++ b/app-editors/vim/files/6.1.051
@@ -0,0 +1,46 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.051 (depends on 6.1.044)
+Problem: Doesn't compile with GUI and small features.
+Solution: Adjust the #if for ga_append().
+Files: src/misc2.c
+
+
+*** ../vim61.050/src/misc2.c Tue Apr 9 23:19:52 2002
+--- src/misc2.c Sun May 5 13:28:18 2002
+***************
+*** 1593,1598 ****
+--- 1593,1600 ----
+ #if defined(FEAT_EVAL) || defined(FEAT_CMDL_COMPL) || defined(FEAT_PYTHON) \
+ || defined(FEAT_RUBY) || defined(FEAT_TCL) || defined(FEAT_PERL) \
+ || defined(FEAT_CLIENTSERVER) \
++ || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MOTIF) \
++ || defined(MSWIN_FIND_REPLACE) \
+ || (defined(FEAT_PRINTER) && defined(FEAT_POSTSCRIPT)) || defined(PROTO)
+ /*
+ * Append one byte to a growarray which contains bytes.
+*** ../vim61.050/src/version.c Sun May 5 12:24:43 2002
+--- src/version.c Sun May 5 13:32:59 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 51,
+ /**/
+
+--
+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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.052 b/app-editors/vim/files/6.1.052
new file mode 100644
index 000000000000..1c88320771c2
--- /dev/null
+++ b/app-editors/vim/files/6.1.052
@@ -0,0 +1,150 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.052
+Problem: Unix: The executable() function doesn't work when the "which"
+ command isn't available.
+Solution: Go through $PATH manually. Also makes it work for VMS.
+Files: src/os_unix.c
+
+
+*** ../vim61.051/src/os_unix.c Wed May 1 19:40:35 2002
+--- src/os_unix.c Fri May 3 19:35:14 2002
+***************
+*** 2287,2294 ****
+ }
+
+ #if defined(FEAT_EVAL) || defined(PROTO)
+ /*
+! * Return 1 if "name" can be executed, 0 if not.
+ * Return -1 if unknown.
+ */
+ int
+--- 2287,2311 ----
+ }
+
+ #if defined(FEAT_EVAL) || defined(PROTO)
++
++ static int executable_file __ARGS((char_u *name));
++
+ /*
+! * Return 1 if "name" is an executable file, 0 if not or it doesn't exist.
+! */
+! static int
+! executable_file(name)
+! char_u *name;
+! {
+! struct stat st;
+!
+! if (stat((char *)name, &st))
+! return 0;
+! return S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0;
+! }
+!
+! /*
+! * Return 1 if "name" can be found in $PATH and executed, 0 if not.
+ * Return -1 if unknown.
+ */
+ int
+***************
+*** 2296,2320 ****
+ char_u *name;
+ {
+ char_u *buf;
+! char_u *p;
+ int retval;
+
+! #ifdef VMS
+! /* TODO */
+! return -1;
+! #endif
+
+! buf = alloc((unsigned)STRLEN(name) + 7);
+ if (buf == NULL)
+ return -1;
+! sprintf((char *)buf, "which %s", name);
+! p = get_cmd_output(buf, SHELL_SILENT);
+ vim_free(buf);
+- if (p == NULL)
+- return -1;
+- /* result can be: "name: Command not found" */
+- retval = (*p != NUL && strstr((char *)p, "not found") == NULL);
+- vim_free(p);
+ return retval;
+ }
+ #endif
+--- 2313,2361 ----
+ char_u *name;
+ {
+ char_u *buf;
+! char_u *p, *e;
+ int retval;
+
+! /* If it's an absolute or relative path don't need to use $PATH. */
+! if (mch_isFullName(name) || (name[0] == '.' && (name[1] == '/'
+! || (name[1] == '.' && name[2] == '/'))))
+! return executable_file(name);
+
+! p = (char_u *)getenv("PATH");
+! if (p == NULL || *p == NUL)
+! return -1;
+! buf = alloc((unsigned)(STRLEN(name) + STRLEN(p) + 2));
+ if (buf == NULL)
+ return -1;
+!
+! /*
+! * Walk through all entries in $PATH to check if "name" exists there and
+! * is an executable file.
+! */
+! for (;;)
+! {
+! e = (char_u *)strchr((char *)p, ':');
+! if (e == NULL)
+! e = p + STRLEN(p);
+! if (e - p <= 1) /* empty entry means current dir */
+! STRCPY(buf, "./");
+! else
+! {
+! STRNCPY(buf, p, e - p);
+! buf[e - p] = NUL;
+! add_pathsep(buf);
+! }
+! STRCAT(buf, name);
+! retval = executable_file(buf);
+! if (retval == 1)
+! break;
+!
+! if (*e != ':')
+! break;
+! p = e + 1;
+! }
+!
+ vim_free(buf);
+ return retval;
+ }
+ #endif
+*** ../vim61.051/src/version.c Sun May 5 14:29:43 2002
+--- src/version.c Sun May 5 14:30:52 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 52,
+ /**/
+
+--
+Lawmakers made it obligatory for everybody to take at least one bath
+each week -- on Saturday night.
+ [real standing law in Vermont, 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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.053 b/app-editors/vim/files/6.1.053
new file mode 100644
index 000000000000..1a82e5850580
--- /dev/null
+++ b/app-editors/vim/files/6.1.053
@@ -0,0 +1,83 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.053
+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.1.053
+Problem: When 'sessionoptions' contains "globals", or "localoptions" and an
+ option value contains a line break, the resulting script is wrong.
+Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula)
+Files: src/eval.c
+
+
+*** ../vim61.052/src/eval.c Sun Apr 21 15:46:47 2002
+--- src/eval.c Sun Apr 28 18:09:17 2002
+***************
+*** 8547,8553 ****
+ garray_T *gap = &variables; /* global variable */
+ VAR this_var;
+ int i;
+! char_u *p;
+
+ for (i = gap->ga_len; --i >= 0; )
+ {
+--- 8547,8553 ----
+ garray_T *gap = &variables; /* global variable */
+ VAR this_var;
+ int i;
+! char_u *p, *t;
+
+ for (i = gap->ga_len; --i >= 0; )
+ {
+***************
+*** 8556,8563 ****
+ {
+ if (var_flavour(this_var->var_name) == VAR_FLAVOUR_SESSION)
+ {
+ p = vim_strsave_escaped(get_var_string(this_var),
+! (char_u *)"\\\"");
+ if ((fprintf(fd, "let %s = %c%s%c",
+ this_var->var_name,
+ (this_var->var_type == VAR_STRING) ? '"' : ' ',
+--- 8556,8572 ----
+ {
+ if (var_flavour(this_var->var_name) == VAR_FLAVOUR_SESSION)
+ {
++ /* Escapse special characters with a backslash. Turn a LF and
++ * CR into \n and \r. */
+ p = vim_strsave_escaped(get_var_string(this_var),
+! (char_u *)"\\\"\n\r");
+! if (p == NULL) /* out of memory */
+! continue;
+! for (t = p; *t != NUL; ++t)
+! if (*t == '\n')
+! *t = 'n';
+! else if (*t == '\r')
+! *t = 'r';
+ if ((fprintf(fd, "let %s = %c%s%c",
+ this_var->var_name,
+ (this_var->var_type == VAR_STRING) ? '"' : ' ',
+*** ../vim61.052/src/version.c Sun May 5 14:35:03 2002
+--- src/version.c Sun May 5 19:02:50 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 53,
+ /**/
+
+--
+A law to reduce crime states: "It is mandatory for a motorist with criminal
+intentions to stop at the city limits and telephone the chief of police as he
+is entering the town.
+ [real standing law in Washington, 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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.054 b/app-editors/vim/files/6.1.054
new file mode 100644
index 000000000000..fd7123718009
--- /dev/null
+++ b/app-editors/vim/files/6.1.054
@@ -0,0 +1,236 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.054
+Problem: GUI: A mouse click is not recognized at the more prompt, even when
+ 'mouse' includes 'r'.
+Solution: Recognize a mouse click at the more prompt.
+ Also accept a mouse click in the last line in the GUI.
+ Add "ml" entry in 'mouseshape'.
+Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c,
+ src/structs.h
+
+
+*** ../vim61.053/src/gui.c Sat May 4 22:23:07 2002
+--- src/gui.c Sun May 5 21:48:29 2002
+***************
+*** 2515,2521 ****
+ #endif
+ case INSERT:
+ case INSERT+LANGMAP: checkfor = MOUSE_INSERT; break;
+! case HITRETURN: checkfor = MOUSE_RETURN; break;
+
+ /*
+ * On the command line, use the clipboard selection on all lines
+--- 2515,2528 ----
+ #endif
+ case INSERT:
+ case INSERT+LANGMAP: checkfor = MOUSE_INSERT; break;
+! case ASKMORE:
+! case HITRETURN: /* At the more- and hit-enter prompt pass the
+! mouse event for a click on the last line. */
+! if (Y_2_ROW(y) == Rows - 1)
+! checkfor = MOUSE_NORMAL;
+! else
+! checkfor = MOUSE_RETURN;
+! break;
+
+ /*
+ * On the command line, use the clipboard selection on all lines
+***************
+*** 3868,3874 ****
+ wp = mouse_find_win(&row, &col);
+ # ifdef FEAT_MOUSESHAPE
+ if (State == HITRETURN || State == ASKMORE)
+! update_mouseshape(SHAPE_IDX_MORE);
+ else if (row > wp->w_height) /* below status line */
+ update_mouseshape(SHAPE_IDX_CLINE);
+ # ifdef FEAT_VERTSPLIT
+--- 3875,3886 ----
+ wp = mouse_find_win(&row, &col);
+ # ifdef FEAT_MOUSESHAPE
+ if (State == HITRETURN || State == ASKMORE)
+! {
+! if (Y_2_ROW(y) == Rows - 1)
+! update_mouseshape(SHAPE_IDX_MOREL);
+! else
+! update_mouseshape(SHAPE_IDX_MORE);
+! }
+ else if (row > wp->w_height) /* below status line */
+ update_mouseshape(SHAPE_IDX_CLINE);
+ # ifdef FEAT_VERTSPLIT
+*** ../vim61.053/src/message.c Mon Apr 29 22:57:48 2002
+--- src/message.c Sun May 5 21:07:23 2002
+***************
+*** 792,797 ****
+--- 792,798 ----
+ || c == K_RIGHTDRAG || c == K_RIGHTRELEASE
+ || c == K_MOUSEDOWN || c == K_MOUSEUP
+ || (!mouse_has(MOUSE_RETURN)
++ && mouse_row != Rows - 1
+ && (c == K_LEFTMOUSE
+ || c == K_MIDDLEMOUSE
+ || c == K_RIGHTMOUSE))
+***************
+*** 1748,1753 ****
+--- 1749,1755 ----
+ /*FALLTHROUGH*/
+ case ' ': /* one extra page */
+ case K_PAGEDOWN:
++ case K_LEFTMOUSE:
+ lines_left = Rows - 1;
+ break;
+
+*** ../vim61.053/src/misc1.c Wed May 1 19:40:35 2002
+--- src/misc1.c Sun May 5 21:26:11 2002
+***************
+*** 2531,2537 ****
+
+ /*
+ * Get a key stroke directly from the user.
+! * Ignores mouse clicks and scrollbar events.
+ * Doesn't use vgetc(), because it syncs undo and eats mapped characters.
+ * Disadvantage: typeahead is ignored.
+ * Translates the interrupt character for unix to ESC.
+--- 2531,2538 ----
+
+ /*
+ * Get a key stroke directly from the user.
+! * Ignores mouse clicks and scrollbar events, except a click for the left
+! * button (used at the more prompt).
+ * Doesn't use vgetc(), because it syncs undo and eats mapped characters.
+ * Disadvantage: typeahead is ignored.
+ * Translates the interrupt character for unix to ESC.
+***************
+*** 2579,2597 ****
+ if (buf[1] == KS_MODIFIER
+ || n == K_IGNORE
+ #ifdef FEAT_MOUSE
+- || n == K_LEFTMOUSE
+ || n == K_LEFTMOUSE_NM
+ || n == K_LEFTDRAG
+! || n == K_LEFTRELEASE
+! || n == K_LEFTRELEASE_NM
+! || n == K_MIDDLEMOUSE
+! || n == K_MIDDLEDRAG
+! || n == K_MIDDLERELEASE
+! || n == K_RIGHTMOUSE
+! || n == K_RIGHTDRAG
+! || n == K_RIGHTRELEASE
+! || n == K_MOUSEDOWN
+! || n == K_MOUSEUP
+ # ifdef FEAT_GUI
+ || n == K_VER_SCROLLBAR
+ || n == K_HOR_SCROLLBAR
+--- 2580,2597 ----
+ if (buf[1] == KS_MODIFIER
+ || n == K_IGNORE
+ #ifdef FEAT_MOUSE
+ || n == K_LEFTMOUSE_NM
+ || n == K_LEFTDRAG
+! || n == K_LEFTRELEASE
+! || n == K_LEFTRELEASE_NM
+! || n == K_MIDDLEMOUSE
+! || n == K_MIDDLEDRAG
+! || n == K_MIDDLERELEASE
+! || n == K_RIGHTMOUSE
+! || n == K_RIGHTDRAG
+! || n == K_RIGHTRELEASE
+! || n == K_MOUSEDOWN
+! || n == K_MOUSEUP
+ # ifdef FEAT_GUI
+ || n == K_VER_SCROLLBAR
+ || n == K_HOR_SCROLLBAR
+*** ../vim61.053/src/misc2.c Sun May 5 14:29:43 2002
+--- src/misc2.c Sun May 5 21:48:59 2002
+***************
+*** 2674,2679 ****
+--- 2674,2680 ----
+ {0, 0, 0, 0L, 0L, 0L, 0, 0, "vs", SHAPE_MOUSE},
+ {0, 0, 0, 0L, 0L, 0L, 0, 0, "vd", SHAPE_MOUSE},
+ {0, 0, 0, 0L, 0L, 0L, 0, 0, "m", SHAPE_MOUSE},
++ {0, 0, 0, 0L, 0L, 0L, 0, 0, "ml", SHAPE_MOUSE},
+ {0, 0, 0, 100L, 100L, 100L, 0, 0, "sm", SHAPE_CURSOR},
+ };
+
+***************
+*** 2960,2966 ****
+--- 2961,2973 ----
+ {
+ #ifdef FEAT_MOUSESHAPE
+ if (mouse && (State == HITRETURN || State == ASKMORE))
++ {
++ # ifdef FEAT_GUI
++ if (Y_2_ROW(gui_mch_get_mouse_y()) == Rows - 1)
++ return SHAPE_IDX_MOREL;
++ # endif
+ return SHAPE_IDX_MORE;
++ }
+ if (mouse && drag_status_line)
+ return SHAPE_IDX_SDRAG;
+ # ifdef FEAT_VERTSPLIT
+*** ../vim61.053/src/option.c Tue Apr 9 21:34:55 2002
+--- src/option.c Sun May 5 21:44:55 2002
+***************
+*** 1436,1442 ****
+ {"mouseshape", "mouses", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+ #ifdef FEAT_MOUSESHAPE
+ (char_u *)&p_mouseshape, PV_NONE,
+! {(char_u *)"i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,v:rightup-arrow", (char_u *)0L}
+ #else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)NULL, (char_u *)0L}
+--- 1436,1442 ----
+ {"mouseshape", "mouses", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
+ #ifdef FEAT_MOUSESHAPE
+ (char_u *)&p_mouseshape, PV_NONE,
+! {(char_u *)"i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow", (char_u *)0L}
+ #else
+ (char_u *)NULL, PV_NONE,
+ {(char_u *)NULL, (char_u *)0L}
+*** ../vim61.053/src/structs.h Fri Feb 22 16:58:41 2002
+--- src/structs.h Sun May 5 21:46:09 2002
+***************
+*** 1487,1494 ****
+ #define SHAPE_IDX_VSEP 12 /* A vertical separator line */
+ #define SHAPE_IDX_VDRAG 13 /* dragging a vertical separator line */
+ #define SHAPE_IDX_MORE 14 /* Hit-return or More */
+! #define SHAPE_IDX_SM 15 /* showing matching paren */
+! #define SHAPE_IDX_COUNT 16
+
+ #define SHAPE_BLOCK 0 /* block cursor */
+ #define SHAPE_HOR 1 /* horizontal bar cursor */
+--- 1487,1495 ----
+ #define SHAPE_IDX_VSEP 12 /* A vertical separator line */
+ #define SHAPE_IDX_VDRAG 13 /* dragging a vertical separator line */
+ #define SHAPE_IDX_MORE 14 /* Hit-return or More */
+! #define SHAPE_IDX_MOREL 15 /* Hit-return or More in last line */
+! #define SHAPE_IDX_SM 16 /* showing matching paren */
+! #define SHAPE_IDX_COUNT 17
+
+ #define SHAPE_BLOCK 0 /* block cursor */
+ #define SHAPE_HOR 1 /* horizontal bar cursor */
+*** ../vim61.053/src/version.c Sun May 5 19:05:22 2002
+--- src/version.c Sun May 5 22:46:36 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 54,
+ /**/
+
+--
+No children may attend school with their breath smelling of "wild onions."
+ [real standing law in West Virginia, 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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.055 b/app-editors/vim/files/6.1.055
new file mode 100644
index 000000000000..fb929415d7dc
--- /dev/null
+++ b/app-editors/vim/files/6.1.055
@@ -0,0 +1,147 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.055
+Problem: When editing a compressed file, Vim will inspect the contents to
+ guess the filetype.
+Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files.
+Files: runtime/filetype.vim, runtime/plugin/gzip.vim
+
+
+*** ../vim61.054/runtime/filetype.vim Tue Apr 23 21:22:42 2002
+--- runtime/filetype.vim Mon May 6 22:16:57 2002
+***************
+*** 1,7 ****
+ " Vim support file to detect file types
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last change: 2002 Apr 23
+
+ " Listen very carefully, I will say this only once
+ if exists("did_load_filetypes")
+--- 1,7 ----
+ " Vim support file to detect file types
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last change: 2002 May 06
+
+ " Listen very carefully, I will say this only once
+ if exists("did_load_filetypes")
+***************
+*** 31,36 ****
+--- 31,41 ----
+ \ exe "doau filetypedetect BufRead " . expand("<afile>:r") |
+ \ endif
+
++ " Pattern used to match file names which should not be inspected.
++ " Currently finds compressed files.
++ if !exists("g:ft_ignore_pat")
++ let g:ft_ignore_pat = '\.\(Z\|gz\|bz2\|zip\|tgz\)$'
++ endif
+
+ " Abaqus or Trasys
+ au BufNewFile,BufRead *.inp call FTCheck_inp()
+***************
+*** 1286,1294 ****
+
+ " Check for "*" after loading myfiletypefile, so that scripts.vim is only used
+ " when there are no matching file name extensions.
+ augroup filetypedetect
+! au BufNewFile,BufRead,StdinReadPost *
+! \ if !did_filetype() | runtime! scripts.vim | endif
+
+
+ " Extra checks for when no filetype has been detected now. Mostly used for
+--- 1303,1314 ----
+
+ " Check for "*" after loading myfiletypefile, so that scripts.vim is only used
+ " when there are no matching file name extensions.
++ " Don't do this for compressed files.
+ augroup filetypedetect
+! au BufNewFile,BufRead *
+! \ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
+! \ | runtime! scripts.vim | endif
+! au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
+
+
+ " Extra checks for when no filetype has been detected now. Mostly used for
+***************
+*** 1365,1371 ****
+
+ " Generic configuration file (check this last, it's just guessing!)
+ au BufNewFile,BufRead,StdinReadPost *
+! \ if !did_filetype()
+ \ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
+ \ || getline(4) =~ '^#' || getline(5) =~ '^#') |
+ \ setf conf |
+--- 1385,1391 ----
+
+ " Generic configuration file (check this last, it's just guessing!)
+ au BufNewFile,BufRead,StdinReadPost *
+! \ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
+ \ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
+ \ || getline(4) =~ '^#' || getline(5) =~ '^#') |
+ \ setf conf |
+*** ../vim61.054/runtime/plugin/gzip.vim Thu Sep 20 19:57:29 2001
+--- runtime/plugin/gzip.vim Mon May 6 21:57:53 2002
+***************
+*** 1,6 ****
+ " Vim plugin for editing compressed files.
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2001 Sep 20
+
+ " Exit quickly when:
+ " - this plugin was already loaded
+--- 1,6 ----
+ " Vim plugin for editing compressed files.
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2002 May 06
+
+ " Exit quickly when:
+ " - this plugin was already loaded
+***************
+*** 86,92 ****
+ let &l:ma = ma_save
+ " When uncompressed the whole buffer, do autocommands
+ if empty
+! execute ":silent! doau BufReadPost " . expand("%:r")
+ endif
+ endfun
+
+--- 86,96 ----
+ let &l:ma = ma_save
+ " When uncompressed the whole buffer, do autocommands
+ if empty
+! if &verbose >= 8
+! execute "doau BufReadPost " . expand("%:r")
+! else
+! execute "silent! doau BufReadPost " . expand("%:r")
+! endif
+ endif
+ endfun
+
+*** ../vim61.054/src/version.c Sun May 5 22:51:14 2002
+--- src/version.c Mon May 6 22:12:26 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 55,
+ /**/
+
+--
+ [The rest of the ARMY stand around looking at a loss.]
+INSPECTOR END OF FILM: (picks up megaphone) All right! Clear off! Go on!
+ "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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.056 b/app-editors/vim/files/6.1.056
new file mode 100644
index 000000000000..d52144ec84a2
--- /dev/null
+++ b/app-editors/vim/files/6.1.056
@@ -0,0 +1,101 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.056
+Problem: Loading the Syntax menu can take quite a bit of time.
+Solution: Add the "skip_syntax_sel_menu" variable. When its defined the
+ available syntax files are not in the Syntax menu.
+Files: runtime/doc/gui.txt, runtime/menu.vim
+
+
+*** ../vim61.055/runtime/doc/gui.txt Fri Mar 22 21:18:36 2002
+--- runtime/doc/gui.txt Tue May 7 20:44:57 2002
+***************
+*** 1,4 ****
+! *gui.txt* For Vim version 6.1. Last change: 2002 Feb 24
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+--- 1,4 ----
+! *gui.txt* For Vim version 6.1. Last change: 2002 May 07
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+***************
+*** 424,429 ****
+--- 424,432 ----
+ :let did_install_default_menus = 1
+ If you also want to avoid the Syntax menu: >
+ :let did_install_syntax_menu = 1
++ If you do want the Syntax menu but not all the entries for each available
++ syntax file (which take quite a bit of time to load): >
++ :let skip_syntax_sel_menu = 1
+ <
+ *bufmenu_maxlen*
+ The contents of the buffer menu can be controlled by setting the variables
+*** ../vim61.055/runtime/menu.vim Sun Mar 24 15:18:44 2002
+--- runtime/menu.vim Tue May 7 20:42:09 2002
+***************
+*** 2,8 ****
+ " You can also use this as a start for your own set of menus.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2002 Mar 02
+
+ " Note that ":an" (short for ":anoremenu") is often used to make a menu work
+ " in all modes and avoid side effects from mappings defined by the user.
+--- 2,8 ----
+ " You can also use this as a start for your own set of menus.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2002 May 07
+
+ " Note that ":an" (short for ":anoremenu") is often used to make a menu work
+ " in all modes and avoid side effects from mappings defined by the user.
+***************
+*** 913,918 ****
+--- 913,922 ----
+ \ && !exists("did_install_syntax_menu")
+ let did_install_syntax_menu = 1
+
++ " Skip setting up the individual syntax selection menus when
++ " skip_syntax_sel_menu is defined (it takes quite a bit of time).
++ if !exists("skip_syntax_sel_menu")
++
+ " Define the SetSyn function, used for the Syntax menu entries.
+ " Set 'filetype' and also 'syntax' if it is manually selected.
+ fun! SetSyn(name)
+***************
+*** 1285,1290 ****
+--- 1289,1296 ----
+ unlet s:syntax_menu_synonly
+ endif
+ endfun
++
++ endif " !exists("skip_syntax_sel_menu")
+
+ an 50.210 &Syntax.&Off :syn off<CR>
+ an 50.700 &Syntax.-SEP3- <Nop>
+*** ../vim61.055/src/version.c Mon May 6 22:21:01 2002
+--- src/version.c Tue May 7 20:47:44 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 56,
+ /**/
+
+--
+This message contains 78% recycled characters.
+
+ /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
+/// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.057 b/app-editors/vim/files/6.1.057
new file mode 100644
index 000000000000..d00bf91853a8
--- /dev/null
+++ b/app-editors/vim/files/6.1.057
@@ -0,0 +1,56 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.057
+Problem: An ESC inside a mapping doesn't work as documented when
+ 'insertmode' is set, it does go from Visual or Normal mode to
+ Insert mode. (Benji Fisher)
+Solution: Make it work as documented.
+Files: src/normal.c
+
+
+*** ../vim61.056/src/normal.c Tue Apr 9 23:19:52 2002
+--- src/normal.c Tue May 7 21:04:39 2002
+***************
+*** 7578,7584 ****
+
+ /* A CTRL-C is often used at the start of a menu. When 'insertmode' is
+ * set return to Insert mode afterwards. */
+! if (restart_edit == 0 && p_im
+ #ifdef FEAT_EX_EXTRA
+ && ex_normal_busy == 0
+ #endif
+--- 7578,7584 ----
+
+ /* A CTRL-C is often used at the start of a menu. When 'insertmode' is
+ * set return to Insert mode afterwards. */
+! if (restart_edit == 0 && goto_im()
+ #ifdef FEAT_EX_EXTRA
+ && ex_normal_busy == 0
+ #endif
+*** ../vim61.056/src/version.c Tue May 7 20:49:56 2002
+--- src/version.c Tue May 7 21:11:39 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 57,
+ /**/
+
+--
+I am always surprised in the Linux world how quickly solutions can be
+obtained. (Imagine sending an email to Bill Gates, asking why Windows
+crashed, and how to fix it... and then getting an answer that fixed the
+problem... <0>_<0> !) -- Mark Langdon
+
+ /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
+/// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.058 b/app-editors/vim/files/6.1.058
new file mode 100644
index 000000000000..8d33c2f19b73
--- /dev/null
+++ b/app-editors/vim/files/6.1.058
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.058
+Problem: When there is a closed fold just above the first line in the
+ window, using CTRL-X CTRL-Y in Insert mode will show only one line
+ of the fold. (Alexey Marinichev)
+Solution: Correct the topline by putting it at the start of the fold.
+Files: src/move.c
+
+
+*** ../vim61.057/src/move.c Thu May 2 19:52:55 2002
+--- src/move.c Wed May 8 19:04:20 2002
+***************
+*** 1486,1491 ****
+--- 1486,1494 ----
+ #else
+ --curwin->w_topline;
+ #endif
++ #ifdef FEAT_FOLDING
++ hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
++ #endif
+ --curwin->w_botline; /* approximate w_botline */
+ curwin->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE);
+ }
+*** ../vim61.057/src/version.c Tue May 7 21:12:30 2002
+--- src/version.c Wed May 8 18:53:22 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 58,
+ /**/
+
+--
+For large projects, Team Leaders use sophisticated project management software
+to keep track of who's doing what. The software collects the lies and guesses
+of the project team and organizes them in to instantly outdated charts that
+are too boring to look at closely. This is called "planning".
+ (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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.059 b/app-editors/vim/files/6.1.059
new file mode 100644
index 000000000000..9d74ac369015
--- /dev/null
+++ b/app-editors/vim/files/6.1.059
@@ -0,0 +1,109 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.059
+Problem: ":redir > ~/file" doesn't work. (Stephen Rasku)
+Solution: Expand environment variables in the ":redir >" argument.
+Files: src/ex_docmd.c
+
+
+*** ../vim61.058/src/ex_docmd.c Fri May 3 22:11:51 2002
+--- src/ex_docmd.c Wed May 8 19:38:04 2002
+***************
+*** 6446,6454 ****
+ exarg_T *eap;
+ {
+ char *mode;
+! #ifdef FEAT_BROWSE
+! char_u *browseFile = NULL;
+! #endif
+
+ if (STRICMP(eap->arg, "END") == 0)
+ close_redir();
+--- 6446,6452 ----
+ exarg_T *eap;
+ {
+ char *mode;
+! char_u *fname;
+
+ if (STRICMP(eap->arg, "END") == 0)
+ close_redir();
+***************
+*** 6468,6490 ****
+
+ close_redir();
+
+ #ifdef FEAT_BROWSE
+ if (cmdmod.browse)
+ {
+ browseFile = do_browse(TRUE, (char_u *)_("Save Redirection"),
+! eap->arg, NULL, NULL, BROWSE_FILTER_ALL_FILES, curbuf);
+ if (browseFile == NULL)
+ return; /* operation cancelled */
+! eap->arg = browseFile;
+ eap->forceit = TRUE; /* since dialog already asked */
+ }
+ #endif
+
+! redir_fd = open_exfile(eap->arg, eap->forceit, mode);
+!
+! #ifdef FEAT_BROWSE
+! vim_free(browseFile);
+! #endif
+ }
+ #ifdef FEAT_EVAL
+ else if (*eap->arg == '@')
+--- 6466,6492 ----
+
+ close_redir();
+
++ /* Expand environment variables and "~/". */
++ fname = expand_env_save(eap->arg);
++ if (fname == NULL)
++ return;
+ #ifdef FEAT_BROWSE
+ if (cmdmod.browse)
+ {
++ char_u *browseFile;
++
+ browseFile = do_browse(TRUE, (char_u *)_("Save Redirection"),
+! fname, NULL, NULL, BROWSE_FILTER_ALL_FILES, curbuf);
+ if (browseFile == NULL)
+ return; /* operation cancelled */
+! vim_free(fname);
+! fname = browseFile;
+ eap->forceit = TRUE; /* since dialog already asked */
+ }
+ #endif
+
+! redir_fd = open_exfile(fname, eap->forceit, mode);
+! vim_free(fname);
+ }
+ #ifdef FEAT_EVAL
+ else if (*eap->arg == '@')
+*** ../vim61.058/src/version.c Sat May 11 20:33:53 2002
+--- src/version.c Sat May 11 20:44:08 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 59,
+ /**/
+
+--
+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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.060 b/app-editors/vim/files/6.1.060
new file mode 100644
index 000000000000..15997f8a83e5
--- /dev/null
+++ b/app-editors/vim/files/6.1.060
@@ -0,0 +1,66 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.060
+Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting
+ a character just before a tab changes the tab into spaces. Undo
+ doesn't restore the tab. (Helmut Stiegler)
+Solution: Don't replace the tab by spaces when it's not needed. Correcly
+ save the line before it's changed.
+Files: src/ops.c
+
+
+*** ../vim61.059/src/ops.c Tue Apr 9 23:19:52 2002
+--- src/ops.c Wed May 8 20:43:00 2002
+***************
+*** 1663,1673 ****
+ }
+ }
+
+! if (gchar_pos(&oap->end) == '\t')
+ {
+! /* save last line for undo if it's not also the first line */
+! if (oap->end.lnum != curwin->w_cursor.lnum
+! && u_save((linenr_T)(oap->end.lnum - 1),
+ (linenr_T)(oap->end.lnum + 1)) == FAIL)
+ return FAIL;
+ curwin->w_cursor = oap->end;
+--- 1663,1674 ----
+ }
+ }
+
+! /* Break a tab only when it's included in the area. */
+! if (gchar_pos(&oap->end) == '\t'
+! && oap->end.coladd < oap->inclusive)
+ {
+! /* save last line for undo */
+! if (u_save((linenr_T)(oap->end.lnum - 1),
+ (linenr_T)(oap->end.lnum + 1)) == FAIL)
+ return FAIL;
+ curwin->w_cursor = oap->end;
+*** ../vim61.059/src/version.c Sat May 11 20:47:01 2002
+--- src/version.c Sat May 11 20:47:51 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 60,
+ /**/
+
+--
+You can test a person's importance in the organization by asking how much RAM
+his computer has. Anybody who knows the answer to that question is not a
+decision-maker.
+ (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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.061 b/app-editors/vim/files/6.1.061
new file mode 100644
index 000000000000..42af817ac5d5
--- /dev/null
+++ b/app-editors/vim/files/6.1.061
@@ -0,0 +1,92 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.061
+Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual
+ selection that ends just after a tab doesn't include that tab in
+ the highlighting. (Helmut Stiegler)
+Solution: Use a different way to exclude the character under the cursor.
+Files: src/screen.c
+
+
+*** ../vim61.060/src/screen.c Sun Apr 28 22:17:31 2002
+--- src/screen.c Wed May 8 20:16:00 2002
+***************
+*** 2502,2508 ****
+ }
+ if (VIsual_mode != 'V' && lnum == bot->lnum)
+ {
+! if (*p_sel == 'e' && bot->col == 0)
+ {
+ fromcol = -10;
+ tocol = MAXCOL;
+--- 2502,2512 ----
+ }
+ if (VIsual_mode != 'V' && lnum == bot->lnum)
+ {
+! if (*p_sel == 'e' && bot->col == 0
+! #ifdef FEAT_VIRTUALEDIT
+! && bot->coladd == 0
+! #endif
+! )
+ {
+ fromcol = -10;
+ tocol = MAXCOL;
+***************
+*** 2511,2528 ****
+ {
+ pos = *bot;
+ if (*p_sel == 'e')
+ {
+! --pos.col;
+! #ifdef FEAT_MBYTE
+! if (has_mbyte)
+! {
+! line = ml_get_buf(wp->w_buffer, lnum, FALSE);
+! pos.col -= (*mb_head_off)(line, line + pos.col);
+! }
+! #endif
+ }
+- getvvcol(wp, &pos, NULL, NULL, (colnr_T *)&tocol);
+- ++tocol;
+ }
+ }
+ }
+--- 2515,2526 ----
+ {
+ pos = *bot;
+ if (*p_sel == 'e')
++ getvvcol(wp, &pos, (colnr_T *)&tocol, NULL, NULL);
++ else
+ {
+! getvvcol(wp, &pos, NULL, NULL, (colnr_T *)&tocol);
+! ++tocol;
+ }
+ }
+ }
+ }
+*** ../vim61.060/src/version.c Sat May 11 20:50:39 2002
+--- src/version.c Sat May 11 20:55:26 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 61,
+ /**/
+
+--
+The only way the average employee can speak to an executive is by taking a
+second job as a golf caddie.
+ (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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.062 b/app-editors/vim/files/6.1.062
new file mode 100644
index 000000000000..5299ea5c3d09
--- /dev/null
+++ b/app-editors/vim/files/6.1.062
@@ -0,0 +1,92 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.062
+Problem: The "man" filetype plugin doesn't work properly on Solaris 5.
+Solution: Use a different way to detect that "man -s" should be used. (Hugh
+ Sasse)
+Files: runtime/ftplugin/man.vim
+
+
+*** ../vim61.061/runtime/ftplugin/man.vim Thu Sep 20 11:26:58 2001
+--- runtime/ftplugin/man.vim Sun May 12 14:17:41 2002
+***************
+*** 1,7 ****
+ " Vim filetype plugin file
+ " Language: man
+ " Maintainer: Nam SungHyun <namsh@kldp.org>
+! " Last Change: 2001 Sep 20
+
+ " To make the ":Man" command available before editing a manual page, source
+ " this script from your startup vimrc file.
+--- 1,7 ----
+ " Vim filetype plugin file
+ " Language: man
+ " Maintainer: Nam SungHyun <namsh@kldp.org>
+! " Last Change: 2002 May 12
+
+ " To make the ":Man" command available before editing a manual page, source
+ " this script from your startup vimrc file.
+***************
+*** 41,47 ****
+
+ let s:man_tag_depth = 0
+
+! if $OSTYPE =~ "solaris"
+ let s:man_sect_arg = "-s"
+ let s:man_find_arg = "-l"
+ else
+--- 41,47 ----
+
+ let s:man_tag_depth = 0
+
+! if system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5"
+ let s:man_sect_arg = "-s"
+ let s:man_find_arg = "-l"
+ else
+***************
+*** 80,86 ****
+ func <SID>FindPage(sect, page)
+ let where = system("/usr/bin/man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page))
+ if where !~ "^/"
+! if substitute(where, ".* \\(.*$\\)", "\\1", "") !~ "^/"
+ return 0
+ endif
+ endif
+--- 80,86 ----
+ func <SID>FindPage(sect, page)
+ let where = system("/usr/bin/man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page))
+ if where !~ "^/"
+! if matchstr(where, " [^ ]*$") !~ "^ /"
+ return 0
+ endif
+ endif
+*** ../vim61.061/src/version.c Sat May 11 20:59:21 2002
+--- src/version.c Sun May 12 14:28:12 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 62,
+ /**/
+
+--
+A salesperson says: Translation:
+"backward compatible" Old technology
+"Premium" Overpriced
+"Can't keep it on the shelf" Unavailable
+"Stands alone" Piece of shit
+"Proprietary" Incompatible
+ (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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.063 b/app-editors/vim/files/6.1.063
new file mode 100644
index 000000000000..573c0422cb0f
--- /dev/null
+++ b/app-editors/vim/files/6.1.063
@@ -0,0 +1,89 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.063
+Problem: Java indenting doesn't work properly.
+Solution: Ignore comments when checking if the indent doesn't increase after
+ a "}".
+Files: runtime/indent/java.vim
+
+
+*** ../vim61.062/runtime/indent/java.vim Thu Feb 28 19:46:29 2002
+--- runtime/indent/java.vim Sun Apr 21 13:58:18 2002
+***************
+*** 1,7 ****
+ " Vim indent file
+ " Language: Java
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2002 Feb 28
+
+ " Only load this indent file when no other was loaded.
+ if exists("b:did_indent")
+--- 1,7 ----
+ " Vim indent file
+ " Language: Java
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2002 Apr 21
+
+ " Only load this indent file when no other was loaded.
+ if exists("b:did_indent")
+***************
+*** 66,72 ****
+
+ " Below a line starting with "}" never indent more. Needed for a method
+ " below a method with an indented "throws" clause.
+! let lnum = prevnonblank(v:lnum - 1)
+ if getline(lnum) =~ '^\s*}\s*\(//.*\|/\*.*\)\=$' && indent(lnum) < theIndent
+ let theIndent = indent(lnum)
+ endif
+--- 66,88 ----
+
+ " Below a line starting with "}" never indent more. Needed for a method
+ " below a method with an indented "throws" clause.
+! " First ignore comment lines.
+! let lnum = v:lnum - 1
+! while lnum > 1
+! let lnum = prevnonblank(lnum)
+! if getline(lnum) =~ '\*/\s*$'
+! while getline(lnum) !~ '/\*' && lnum > 1
+! let lnum = lnum - 1
+! endwhile
+! if getline(lnum) =~ '^\s*/\*'
+! let lnum = lnum - 1
+! endif
+! elseif getline(lnum) =~ '^\s*//'
+! let lnum = lnum - 1
+! else
+! break
+! endif
+! endwhile
+ if getline(lnum) =~ '^\s*}\s*\(//.*\|/\*.*\)\=$' && indent(lnum) < theIndent
+ let theIndent = indent(lnum)
+ endif
+*** ../vim61.062/src/version.c Sun May 12 14:36:14 2002
+--- src/version.c Sun May 12 18:42:46 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 63,
+ /**/
+
+--
+While it's true that many normal people whould prefer not to _date_ an
+engineer, most normal people harbor an intense desire to _mate_ with them,
+thus producing engineerlike children who will have high-paying jobs long
+before losing their virginity.
+ (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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.064 b/app-editors/vim/files/6.1.064
new file mode 100644
index 000000000000..5a79bbb5fac8
--- /dev/null
+++ b/app-editors/vim/files/6.1.064
@@ -0,0 +1,435 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.064
+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.1.064
+Problem: The URLs that the netrw plugin recognized for ftp and rcp did not
+ conform to the standard method://[user@]host[:port]/path.
+Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new
+ and the previous style. Also added a bit of dav/cadaver support.
+ (Charles Campbell)
+Files: runtime/plugin/netrw.vim
+
+
+*** ../vim61.063/runtime/plugin/netrw.vim Fri Feb 8 16:50:03 2002
+--- runtime/plugin/netrw.vim Tue May 14 21:40:49 2002
+***************
+*** 1,13 ****
+ " netrw.vim: (global plugin) Handles file transfer across a network
+! " Last Change: Jan 4, 2002
+ " Maintainer: Charles E. Campbell, Jr. PhD <cec@NgrOyphSon.gPsfAc.nMasa.gov>
+! " Version: 2.20
+
+ " Credits:
+ " Vim editor by Bram Moolenaar (Thanks, Bram!)
+ " rcp, ftp support by C Campbell <cec@NgrOyphSon.gPsfAc.nMasa.gov>
+ " scp support by raf <raf@comdyn.com.au>
+ " http support by Bram Moolenaar <bram@moolenaar.net>
+ " inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
+
+ " Debugging:
+--- 1,14 ----
+ " netrw.vim: (global plugin) Handles file transfer across a network
+! " Last Change: Apr 16, 2002
+ " Maintainer: Charles E. Campbell, Jr. PhD <cec@NgrOyphSon.gPsfAc.nMasa.gov>
+! " Version: 22
+
+ " Credits:
+ " Vim editor by Bram Moolenaar (Thanks, Bram!)
+ " rcp, ftp support by C Campbell <cec@NgrOyphSon.gPsfAc.nMasa.gov>
+ " scp support by raf <raf@comdyn.com.au>
+ " http support by Bram Moolenaar <bram@moolenaar.net>
++ " dav support by C Campbell
+ " inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
+
+ " Debugging:
+***************
+*** 32,54 ****
+ " up the file.
+
+ " Reading:
+! " :Nread ? give help
+! " :Nread "machine:file" uses rcp
+! " :Nread "machine file" uses ftp with <.netrc>
+! " :Nread "machine id password file" uses ftp
+! " :Nread "ftp://machine[#port]/file" uses ftp (autodetects <.netrc>)
+! " :Nread "http://[user@]machine/file" uses http (wget)
+! " :Nread "rcp://machine/file" uses rcp
+! " :Nread "scp://[user@]machine/file" uses scp
+
+ " Writing:
+! " :Nwrite ? give help
+! " :Nwrite "machine:file" uses rcp
+! " :Nwrite "machine file" uses ftp with <.netrc>
+! " :Nwrite "machine id password file" uses ftp
+! " :Nwrite "ftp://machine[#port]/file" uses ftp (autodetects <.netrc>)
+! " :Nwrite "rcp://machine/file" uses rcp
+! " :Nwrite "scp://[user@]machine/file" uses scp
+ " http: not supported!
+
+ " User And Password Changing:
+--- 33,57 ----
+ " up the file.
+
+ " Reading:
+! " :Nread ? give help
+! " :Nread "machine:file" uses rcp
+! " :Nread "machine file" uses ftp with <.netrc>
+! " :Nread "machine id password file" uses ftp
+! " :Nread "ftp://[user@]machine[[:#]port]/file" uses ftp autodetects <.netrc>
+! " :Nread "http://[user@]machine/file" uses http uses wget
+! " :Nread "rcp://[user@]machine/file" uses rcp
+! " :Nread "scp://[user@]machine/file" uses scp
+! " :Nread "dav://machine[:port]/file" uses cadaver
+
+ " Writing:
+! " :Nwrite ? give help
+! " :Nwrite "machine:file" uses rcp
+! " :Nwrite "machine file" uses ftp with <.netrc>
+! " :Nwrite "machine id password file" uses ftp
+! " :Nwrite "ftp://[user@]machine[[:#]port]/file" uses ftp autodetects <.netrc>
+! " :Nwrite "rcp://[user@]machine/file" uses rcp
+! " :Nwrite "scp://[user@]machine/file" uses scp
+! " :Nwrite "dav://machine[:port]/file" uses cadaver
+ " http: not supported!
+
+ " User And Password Changing:
+***************
+*** 111,126 ****
+ endif
+ endif
+
+! " Vimrc Support:
+! " Auto-detection for ftp://*, rcp://*, scp://*, and http://*
+ " Should make file transfers across networks transparent. Currently I haven't
+ " supported appends. Hey, gotta leave something for <netrw.vim> version 3!
+ if version >= 600
+ augroup Network
+ au!
+! au BufReadCmd ftp://*,rcp://*,scp://*,http://* exe "Nread 0r " . expand("<afile>") | exe "doau BufReadPost " . expand("<afile>")
+! au FileReadCmd ftp://*,rcp://*,scp://*,http://* exe "Nread " . expand("<afile>") | exe "doau BufReadPost " . expand("<afile>")
+! au BufWriteCmd ftp://*,rcp://*,scp://* exe "Nwrite " . expand("<afile>")
+ augroup END
+ endif
+
+--- 114,129 ----
+ endif
+ endif
+
+! " Transparency Support:
+! " Auto-detection for ftp://*, rcp://*, scp://*, http://*, and dav://*
+ " Should make file transfers across networks transparent. Currently I haven't
+ " supported appends. Hey, gotta leave something for <netrw.vim> version 3!
+ if version >= 600
+ augroup Network
+ au!
+! au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://* exe "Nread 0r " . expand("<afile>") | exe "doau BufReadPost " . expand("<afile>")
+! au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://* exe "Nread " . expand("<afile>") | exe "doau BufReadPost " . expand("<afile>")
+! au BufWriteCmd ftp://*,rcp://*,scp://*,dav://* exe "Nwrite " . expand("<afile>")
+ augroup END
+ endif
+
+***************
+*** 172,184 ****
+ " Reconstruct Choice if choice starts with '"'
+ if match(choice,"?") == 0
+ echo "NetRead Usage:"
+! echo ":Nread machine:file uses rcp"
+! echo ':Nread "machine file" uses ftp with <.netrc>'
+! echo ':Nread "machine id password file" uses ftp'
+! echo ':Nread ftp://machine[#port]/file uses ftp (autodetects <.netrc>)'
+! echo ":Nread http://[user@]machine/file uses http (wget)"
+! echo ":Nread rcp://machine/file uses rcp"
+! echo ":Nread scp://[user@]machine/file uses scp"
+ break
+ elseif match(choice,"^\"") != -1
+ " Decho "DBG: reconstructing choice"
+--- 175,188 ----
+ " Reconstruct Choice if choice starts with '"'
+ if match(choice,"?") == 0
+ echo "NetRead Usage:"
+! echo ":Nread machine:path uses rcp"
+! echo ':Nread "machine path" uses ftp with <.netrc>'
+! echo ':Nread "machine id password path" uses ftp'
+! echo ':Nread ftp://[user@]machine[:port]/path uses ftp autodetects <.netrc>'
+! echo ":Nread http://[user@]machine/path uses http wget"
+! echo ":Nread rcp://[user@]machine/path uses rcp"
+! echo ":Nread scp://[user@]machine/path uses scp"
+! echo ":Nread dav://machine[:port]/path uses cadaver"
+ break
+ elseif match(choice,"^\"") != -1
+ " Decho "DBG: reconstructing choice"
+***************
+*** 291,302 ****
+ elseif b:netrw_method == 5 " read with http (wget)
+ " Decho "DBG: read via http (method #5)"
+ if match(b:netrw_fname,"#") == -1
+! exe "!wget http://" . g:netrw_machine . "/" . b:netrw_fname . " -O " . tmpfile
+ let result = s:NetGetFile(readcmd, tmpfile)
+ else
+ let netrw_html= substitute(b:netrw_fname,"#.*$","","")
+ let netrw_tag = substitute(b:netrw_fname,"^.*#","","")
+! exe "!wget http://" . g:netrw_machine . "/" . netrw_html . " -O " . tmpfile
+ let result = s:NetGetFile(readcmd, tmpfile)
+ exe 'norm! 1G/<\s*a\s*name=\s*"'.netrw_tag.'"'
+ endif
+--- 295,306 ----
+ elseif b:netrw_method == 5 " read with http (wget)
+ " Decho "DBG: read via http (method #5)"
+ if match(b:netrw_fname,"#") == -1
+! exe "!wget -O " . tmpfile . " http://" . g:netrw_machine . "/" . b:netrw_fname
+ let result = s:NetGetFile(readcmd, tmpfile)
+ else
+ let netrw_html= substitute(b:netrw_fname,"#.*$","","")
+ let netrw_tag = substitute(b:netrw_fname,"^.*#","","")
+! exe "!wget -O " . tmpfile . " http://" . g:netrw_machine . "/" . netrw_html
+ let result = s:NetGetFile(readcmd, tmpfile)
+ exe 'norm! 1G/<\s*a\s*name=\s*"'.netrw_tag.'"'
+ endif
+***************
+*** 305,310 ****
+--- 309,328 ----
+ let b:netrw_lastfile = choice
+
+ ".........................................
++ " cadaver: Method #6
++ elseif b:netrw_method == 6 " read with cadaver
++ " Decho "DBG: read via cadaver (method #6)"
++ if g:netrw_cygwin == 1
++ let cygtmpfile=substitute(tmpfile,'^\(\a\):','//\1/','e')
++ exe "!cadaver http://" . g:netrw_machine . "/" . b:netrw_fname . " " . cygtmpfile
++ else
++ " call Decho("DBG: !cadaver http://" . g:netrw_machine . "/" . b:netrw_fname . " " . tmpfile)
++ exe "!cadaver http://" . g:netrw_machine . "/" . b:netrw_fname . " " . tmpfile
++ endif
++ let result = s:NetGetFile(readcmd, tmpfile)
++ let b:netrw_lastfile = choice
++
++ ".........................................
+ else " Complain
+ echo "***warning*** unable to comply with your request<" . choice . ">"
+ endif
+***************
+*** 385,396 ****
+ " Reconstruct Choice if choice starts with '"'
+ if match(choice,"?") == 0
+ echo "NetWrite Usage:"
+! echo ":Nwrite machine:file uses rcp"
+! echo ":Nwrite \"machine file\" uses ftp with <.netrc>"
+! echo ":Nwrite \"machine id password file\" uses ftp"
+! echo ":Nwrite ftp://machine[#port]/file uses ftp (autodetects <.netrc>)"
+! echo ":Nwrite rcp://machine/file uses rcp"
+! echo ":Nwrite scp://[user@]machine/file uses scp"
+ break
+
+ elseif match(choice,"^\"") != -1
+--- 403,415 ----
+ " Reconstruct Choice if choice starts with '"'
+ if match(choice,"?") == 0
+ echo "NetWrite Usage:"
+! echo ":Nwrite machine:path uses rcp"
+! echo ":Nwrite \"machine path\" uses ftp with <.netrc>"
+! echo ":Nwrite \"machine id password path\" uses ftp"
+! echo ":Nwrite ftp://machine[#port]/path uses ftp (autodetects <.netrc>)"
+! echo ":Nwrite rcp://machine/path uses rcp"
+! echo ":Nwrite scp://[user@]machine/path uses scp"
+! echo ":Nwrite dav://[user@]machine/path uses cadaver"
+ break
+
+ elseif match(choice,"^\"") != -1
+***************
+*** 475,480 ****
+--- 494,510 ----
+ endif
+ let b:netrw_lastfile = choice
+
++ ".........................................
++ " dav: Method #6
++ elseif b:netrw_method == 6 " write with cadaver
++ if g:netrw_cygwin == 1
++ let cygtmpfile=substitute(tmpfile,'^\(\a\):','//\1/','e')
++ exe "!cadaver " . cygtmpfile . " http://" . g:netrw_machine . "/" . b:netrw_fname
++ else
++ exe "!cadaver " . tmpfile . " http://" . g:netrw_machine . "/" . b:netrw_fname
++ endif
++ let b:netrw_lastfile = choice
++
+ else " Complain
+ echo "***warning*** unable to comply with your request<" . choice . ">"
+ endif
+***************
+*** 513,518 ****
+--- 543,549 ----
+ " 3: ftp + machine, id, password, and [path]filename
+ " 4: scp
+ " 5: http (wget)
++ " 6: cadaver
+ function! s:NetMethod(choice) " globals: method machine id passwd fname
+ " Decho "DBG: NetMethod(a:choice<".a:choice.">) {"
+
+***************
+*** 523,550 ****
+ let g:netrw_port = ""
+
+ " Patterns:
+! " mipf : a:machine a:id password filename Use ftp
+! " mf : a:machine filename Use ftp + <.netrc> or g:netrw_uid g:netrw_passwd
+! " ftpurm : ftp://host[#port]/filename Use ftp + <.netrc> or g:netrw_uid g:netrw_passwd
+! " rcpurm : rcp://host/filename Use rcp
+! " rcphf : host:filename Use rcp
+! " scpurm : scp://[user@]host/filename Use scp
+! " httpurm: http://[user@]host/filename Use wget
+ let mipf = '\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)'
+ let mf = '\(\S\+\)\s\+\(\S\+\)'
+! let ftpurm = 'ftp://\([^/#]\{-}\)\(#\d\+\)\=/\(.*\)$'
+! let rcpurm = 'rcp://\([^/]\{-}\)/\(.*\)$'
+! let rcphf = '\(\I\i*\):\(\S\+\)'
+ let scpurm = 'scp://\([^/]\{-}\)/\(.*\)$'
+! let httpurm= 'http://\([^/]\{-}\)/\(.*\)$'
+
+ " Determine Method
+! " rcp://hostname/...path-to-file
+ if match(a:choice,rcpurm) == 0
+ " Decho "DBG: NetMethod: rcp://..."
+ let b:netrw_method = 1
+! let g:netrw_machine= substitute(a:choice,rcpurm,'\1',"")
+! let b:netrw_fname = substitute(a:choice,rcpurm,'\2',"")
+
+ " scp://user@hostname/...path-to-file
+ elseif match(a:choice,scpurm) == 0
+--- 554,587 ----
+ let g:netrw_port = ""
+
+ " Patterns:
+! " mipf : a:machine a:id password filename Use ftp
+! " mf : a:machine filename Use ftp + <.netrc> or g:netrw_uid g:netrw_passwd
+! " ftpurm : ftp://[user@]host[[#:]port]/filename Use ftp + <.netrc> or g:netrw_uid g:netrw_passwd
+! " rcpurm : rcp://[user@]host/filename Use rcp
+! " rcphf : [user@]host:filename Use rcp
+! " scpurm : scp://[user@]host/filename Use scp
+! " httpurm: http://[user@]host/filename Use wget
+! " davurm : dav://host[:port]/path Use cadaver
+ let mipf = '\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)'
+ let mf = '\(\S\+\)\s\+\(\S\+\)'
+! let ftpurm = 'ftp://\([^/@]@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
+! let rcpurm = 'rcp://\([^/@]@\)\=\([^/]\{-}\)/\(.*\)$'
+! let rcphf = '\([^@]\{-}@\)\=\(\I\i*\):\(\S\+\)'
+ let scpurm = 'scp://\([^/]\{-}\)/\(.*\)$'
+! let httpurm= 'http://\([^/]\{-}\)\(/.*\)\=$'
+! let davurm = 'dav://\([^/]\{-}\)/\(.*\)\=$'
+
+ " Determine Method
+! " rcp://user@hostname/...path-to-file
+ if match(a:choice,rcpurm) == 0
+ " Decho "DBG: NetMethod: rcp://..."
+ let b:netrw_method = 1
+! let userid = substitute(a:choice,rcpurm,'\1',"")
+! let g:netrw_machine= substitute(a:choice,rcpurm,'\2',"")
+! let b:netrw_fname = substitute(a:choice,rcpurm,'\3',"")
+! if userid != ""
+! let g:netrw_uid= userid
+! endif
+
+ " scp://user@hostname/...path-to-file
+ elseif match(a:choice,scpurm) == 0
+***************
+*** 553,573 ****
+ let g:netrw_machine= substitute(a:choice,scpurm,'\1',"")
+ let b:netrw_fname = substitute(a:choice,scpurm,'\2',"")
+
+! " http://hostname/...path-to-file
+ elseif match(a:choice,httpurm) == 0
+ " Decho "DBG: NetMethod: http://..."
+ let b:netrw_method = 5
+ let g:netrw_machine= substitute(a:choice,httpurm,'\1',"")
+ let b:netrw_fname = substitute(a:choice,httpurm,'\2',"")
+
+! " ftp://hostname/...path-to-file
+ elseif match(a:choice,ftpurm) == 0
+ " Decho "DBG: NetMethod: ftp://..."
+! let g:netrw_machine= substitute(a:choice,ftpurm,'\1',"")
+! let g:netrw_port = substitute(a:choice,ftpurm,'\2',"")
+! let b:netrw_fname = substitute(a:choice,ftpurm,'\3',"")
+ if g:netrw_port != ""
+! let g:netrw_port = substitute(g:netrw_port,"#","","")
+ endif
+ if exists("g:netrw_uid") && exists("g:netrw_passwd")
+ let b:netrw_method = 3
+--- 590,620 ----
+ let g:netrw_machine= substitute(a:choice,scpurm,'\1',"")
+ let b:netrw_fname = substitute(a:choice,scpurm,'\2',"")
+
+! " http://user@hostname/...path-to-file
+ elseif match(a:choice,httpurm) == 0
+ " Decho "DBG: NetMethod: http://..."
+ let b:netrw_method = 5
+ let g:netrw_machine= substitute(a:choice,httpurm,'\1',"")
+ let b:netrw_fname = substitute(a:choice,httpurm,'\2',"")
++
++ " dav://hostname[:port]/..path-to-file..
++ elseif match(a:choice,davurm) == 0
++ let b:netrw_method= 6
++ let g:netrw_machine= substitute(a:choice,davurm,'\1',"")
++ let b:netrw_fname = substitute(a:choice,davurm,'\2',"")
+
+! " ftp://[user@]hostname[[:#]port]/...path-to-file
+ elseif match(a:choice,ftpurm) == 0
+ " Decho "DBG: NetMethod: ftp://..."
+! let userid = substitute(a:choice,ftpurm,'\1',"")
+! let g:netrw_machine= substitute(a:choice,ftpurm,'\2',"")
+! let g:netrw_port = substitute(a:choice,ftpurm,'\3',"")
+! let b:netrw_fname = substitute(a:choice,ftpurm,'\4',"")
+ if g:netrw_port != ""
+! let g:netrw_port = substitute(g:netrw_port,"[#:]","","")
+! endif
+! if userid != ""
+! let g:netrw_uid= userid
+ endif
+ if exists("g:netrw_uid") && exists("g:netrw_passwd")
+ let b:netrw_method = 3
+***************
+*** 589,596 ****
+ elseif match(a:choice,rcphf) == 0
+ " Decho "DBG: NetMethod: (rcp) host:file"
+ let b:netrw_method = 1
+! let g:netrw_machine= substitute(a:choice,rcphf,'\1',"")
+! let b:netrw_fname = substitute(a:choice,rcphf,'\2',"")
+ if has("win32")
+ " don't let PCs try <.netrc>
+ let b:netrw_method = 3
+--- 636,647 ----
+ elseif match(a:choice,rcphf) == 0
+ " Decho "DBG: NetMethod: (rcp) host:file"
+ let b:netrw_method = 1
+! let userid = substitute(a:choice,rcphf,'\1',"")
+! let g:netrw_machine= substitute(a:choice,rcphf,'\2',"")
+! let b:netrw_fname = substitute(a:choice,rcphf,'\3',"")
+! if userid != ""
+! let g:netrw_uid= userid
+! endif
+ if has("win32")
+ " don't let PCs try <.netrc>
+ let b:netrw_method = 3
+*** ../vim61.063/src/version.c Sun May 12 18:48:10 2002
+--- src/version.c Wed May 15 20:31:14 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 64,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+13. You refer to going to the bathroom as downloading.
+
+ /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
+/// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.067 b/app-editors/vim/files/6.1.067
new file mode 100644
index 000000000000..b330bdbcd269
--- /dev/null
+++ b/app-editors/vim/files/6.1.067
@@ -0,0 +1,53 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.067
+Problem: ":set viminfo+=f0" is not working. (Benji Fisher)
+Solution: Check the "f" flag instead of "'" in 'viminfo'.
+Files: src/mark.c
+
+
+*** ../vim61.066/src/mark.c Mon Feb 11 14:51:37 2002
+--- src/mark.c Wed May 15 22:25:58 2002
+***************
+*** 1067,1073 ****
+ buf_T *buf;
+ xfmark_T *fm;
+
+! if (get_viminfo_parameter('\'') == 0)
+ return;
+
+ fprintf(fp, _("\n# File marks:\n"));
+--- 1063,1069 ----
+ buf_T *buf;
+ xfmark_T *fm;
+
+! if (get_viminfo_parameter('f') == 0)
+ return;
+
+ fprintf(fp, _("\n# File marks:\n"));
+*** ../vim61.066/src/version.c Wed May 15 22:00:04 2002
+--- src/version.c Wed May 15 22:29:28 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 67,
+ /**/
+
+--
+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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.068 b/app-editors/vim/files/6.1.068
new file mode 100644
index 000000000000..a555cb0e09b0
--- /dev/null
+++ b/app-editors/vim/files/6.1.068
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.068
+Problem: When a file is reloaded after it was changed outside of Vim, diff
+ mode isn't updated. (Michael Naumann)
+Solution: Invalidate the diff info so that it's updated when needed.
+Files: src/fileio.c
+
+
+*** ../vim61.067/src/fileio.c Mon Apr 29 21:53:23 2002
+--- src/fileio.c Thu May 9 19:41:25 2002
+***************
+*** 5258,5263 ****
+--- 5258,5268 ----
+ }
+ vim_free(ea.cmd);
+
++ #ifdef FEAT_DIFF
++ /* Invalidate diff info if necessary. */
++ diff_invalidate();
++ #endif
++
+ /* Restore the topline and cursor position and check it (lines may
+ * have been removed). */
+ if (old_topline > curbuf->b_ml.ml_line_count)
+*** ../vim61.067/src/version.c Wed May 15 22:31:55 2002
+--- src/version.c Thu May 16 21:30:20 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 68,
+ /**/
+
+--
+"Making it up? Why should I want to make anything up? Life's bad enough
+as it is without wanting to invent any more of it."
+ -- Marvin, the Paranoid Android in 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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.069 b/app-editors/vim/files/6.1.069
new file mode 100644
index 000000000000..b6655fd15f13
--- /dev/null
+++ b/app-editors/vim/files/6.1.069
@@ -0,0 +1,70 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.069
+Problem: When 'showmatch' is set and "$" is in 'cpoptions', using
+ "C}<Esc>" may forget to remove the "$". (Preben Guldberg)
+Solution: Restore dollar_vcol after displaying the matching cursor position.
+Files: src/search.c
+
+
+*** ../vim61.068/src/search.c Sun Apr 28 22:11:57 2002
+--- src/search.c Mon May 13 19:47:58 2002
+***************
+*** 2025,2030 ****
+--- 2025,2031 ----
+ #ifdef CURSOR_SHAPE
+ int save_state;
+ #endif
++ colnr_T save_dollar_vcol;
+
+ if ((lpos = findmatch(NULL, NUL)) == NULL) /* no match, so beep */
+ vim_beep();
+***************
+*** 2045,2050 ****
+--- 2046,2052 ----
+ ++curwin->w_virtcol; /* do display ')' just before "$" */
+ update_screen(VALID); /* show the new char first */
+
++ save_dollar_vcol = dollar_vcol;
+ #ifdef CURSOR_SHAPE
+ save_state = State;
+ State = SHOWMATCH;
+***************
+*** 2063,2068 ****
+--- 2065,2074 ----
+ gui_mch_flush();
+ }
+ #endif
++ /* Restore collar_vcol(), because setcursor() may call curs_rows()
++ * which resets it if the matching position is in a previous line
++ * and has a higher column number. */
++ dollar_vcol = save_dollar_vcol;
+
+ /*
+ * brief pause, unless 'm' is present in 'cpo' and a character is
+*** ../vim61.068/src/version.c Thu May 16 21:32:05 2002
+--- src/version.c Thu May 16 21:33:43 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 69,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+1. At lunch time, sit in your parked car with sunglasses on and point
+ a hair dryer at passing cars. See if they slow down.
+
+ /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
+/// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.070 b/app-editors/vim/files/6.1.070
new file mode 100644
index 000000000000..e8a762eeea5c
--- /dev/null
+++ b/app-editors/vim/files/6.1.070
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.070
+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.1.070 (depends on 6.1.060)
+Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams)
+Solution: Add a typecast to int.
+Files: src/ops.c
+
+
+*** ../vim61.069/src/ops.c Sat May 11 20:50:39 2002
+--- src/ops.c Thu May 16 20:01:35 2002
+***************
+*** 1665,1671 ****
+
+ /* Break a tab only when it's included in the area. */
+ if (gchar_pos(&oap->end) == '\t'
+! && oap->end.coladd < oap->inclusive)
+ {
+ /* save last line for undo */
+ if (u_save((linenr_T)(oap->end.lnum - 1),
+--- 1670,1676 ----
+
+ /* Break a tab only when it's included in the area. */
+ if (gchar_pos(&oap->end) == '\t'
+! && (int)oap->end.coladd < oap->inclusive)
+ {
+ /* save last line for undo */
+ if (u_save((linenr_T)(oap->end.lnum - 1),
+*** ../vim61.069/src/version.c Thu May 16 21:41:07 2002
+--- src/version.c Thu May 16 21:43:15 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 70,
+ /**/
+
+--
+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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.071 b/app-editors/vim/files/6.1.071
new file mode 100644
index 000000000000..b28be647388a
--- /dev/null
+++ b/app-editors/vim/files/6.1.071
@@ -0,0 +1,49 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.071
+Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one
+ character too much. (David Necas)
+Solution: Subtract one from the end position.
+Files: src/ops.c
+
+
+*** ../vim61.070/src/ops.c Thu May 16 21:44:52 2002
+--- src/ops.c Thu May 16 20:01:35 2002
+***************
+*** 5489,5494 ****
+--- 5521,5529 ----
+ min_pos = curwin->w_cursor;
+ max_pos = VIsual;
+ }
++ if (*p_sel == 'e' && max_pos.col > 0)
++ --max_pos.col;
++
+ if (VIsual_mode == Ctrl_V)
+ {
+ oparg.is_VIsual = 1;
+*** ../vim61.070/src/version.c Thu May 16 21:44:52 2002
+--- src/version.c Thu May 16 21:46:44 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 71,
+ /**/
+
+--
+How To Keep A Healthy Level Of Insanity:
+3. Every time someone asks you to do something, ask if they want fries
+ with that.
+
+ /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\
+/// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.072 b/app-editors/vim/files/6.1.072
new file mode 100644
index 000000000000..74f319275ab4
--- /dev/null
+++ b/app-editors/vim/files/6.1.072
@@ -0,0 +1,208 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.072
+Problem: When a file name in a tags file starts with http:// or something
+ else for which there is a BufReadCmd autocommand, the file isn't
+ opened anyway.
+Solution: Check if there is a matching BufReadCmd autocommand and try to
+ open the file.
+Files: src/fileio.c, src/proto/fileio.pro, src/tag.c
+
+
+*** ../vim61.071/src/fileio.c Thu May 16 21:32:05 2002
+--- src/fileio.c Thu May 16 21:59:24 2002
+***************
+*** 5767,5772 ****
+--- 5767,5794 ----
+ static EVENT_T last_event;
+ static int last_group;
+
++ #ifdef BACKSLASH_IN_FILENAME
++ static void forward_slash __ARGS((char_u *));
++
++ /*
++ * Convert all backslashes in fname to forward slashes in-place.
++ */
++ static void
++ forward_slash(fname)
++ char_u *fname;
++ {
++ for (p = fname; *p != NUL; ++p)
++ # ifdef FEAT_MBYTE
++ /* The Big5 encoding can have '\' in the trail byte. */
++ if (enc_dbcs != 0 && (*mb_ptr2len_check)(p) > 1)
++ ++p;
++ else
++ # endif
++ if (*p == '\\')
++ *p = '/';
++ }
++ #endif
++
+ /*
+ * Show the autocommands for one AutoPat.
+ */
+***************
+*** 6900,6930 ****
+ /*
+ * Replace all backslashes with forward slashes. This makes the
+ * autocommand patterns portable between Unix and MS-DOS.
+- * Watch out for the Big5 encoding, it has '\' in the trail byte.
+ */
+! {
+! char_u *p;
+!
+! if (sfname != NULL)
+! {
+! for (p = sfname; *p; ++p)
+! # ifdef FEAT_MBYTE
+! if (enc_dbcs != 0 && (*mb_ptr2len_check)(p) > 1)
+! ++p;
+! else
+! # endif
+! if (*p == '\\')
+! *p = '/';
+! }
+! for (p = fname; *p; ++p)
+! # ifdef FEAT_MBYTE
+! if (enc_dbcs != 0 && (*mb_ptr2len_check)(p) > 1)
+! ++p;
+! else
+! # endif
+! if (*p == '\\')
+! *p = '/';
+! }
+ #endif
+
+ #ifdef VMS
+--- 6922,6931 ----
+ /*
+ * Replace all backslashes with forward slashes. This makes the
+ * autocommand patterns portable between Unix and MS-DOS.
+ */
+! if (sfname != NULL)
+! forward_slash(sfname);
+! forward_slash(fname);
+ #endif
+
+ #ifdef VMS
+***************
+*** 7179,7184 ****
+--- 7180,7230 ----
+ acp->nextcmd = NULL;
+ else
+ acp->nextcmd = ac->next;
++ return retval;
++ }
++
++ /*
++ * Return TRUE if there is a matching autocommand for "fname".
++ */
++ int
++ has_autocmd(event, sfname)
++ EVENT_T event;
++ char_u *sfname;
++ {
++ AutoPat *ap;
++ char_u *fname;
++ char_u *tail = gettail(sfname);
++ int retval = FALSE;
++
++ fname = FullName_save(sfname, FALSE);
++ if (fname == NULL)
++ return FALSE;
++
++ #ifdef BACKSLASH_IN_FILENAME
++ /*
++ * Replace all backslashes with forward slashes. This makes the
++ * autocommand patterns portable between Unix and MS-DOS.
++ */
++ sfname = vim_strsave(sfname);
++ if (sfname != NULL)
++ forward_slash(sfname);
++ forward_slash(fname);
++ #endif
++
++ for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next)
++ if (ap->pat != NULL && ap->cmds != NULL
++ && match_file_pat(ap->reg_pat, fname, sfname, tail,
++ ap->allow_dirs))
++ {
++ retval = TRUE;
++ break;
++ }
++
++ vim_free(fname);
++ #ifdef BACKSLASH_IN_FILENAME
++ vim_free(sfname);
++ #endif
++
+ return retval;
+ }
+
+*** ../vim61.071/src/proto/fileio.pro Fri Mar 22 21:41:09 2002
+--- src/proto/fileio.pro Mon May 6 19:55:39 2002
+***************
+*** 25,30 ****
+--- 25,31 ----
+ void aucmd_restbuf __ARGS((aco_save_T *aco));
+ int apply_autocmds __ARGS((EVENT_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
+ int has_cursorhold __ARGS((void));
++ int has_autocmd __ARGS((EVENT_T event, char_u *sfname));
+ char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
+ char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
+ char_u *get_event_name __ARGS((expand_T *xp, int idx));
+*** ../vim61.071/src/tag.c Mon Apr 8 22:11:31 2002
+--- src/tag.c Mon May 6 19:57:34 2002
+***************
+*** 2430,2438 ****
+ tofree_fname = fname; /* free() it later */
+
+ /*
+! * check if file for tag exists before abandoning current file
+ */
+! if (mch_getperm(fname) < 0)
+ {
+ retval = NOTAGFILE;
+ vim_free(nofile_fname);
+--- 2430,2444 ----
+ tofree_fname = fname; /* free() it later */
+
+ /*
+! * Check if the file with the tag exists before abandoning the current
+! * file. Also accept a file name for which there is a matching BufReadCmd
+! * autocommand event (e.g., http://sys/file).
+ */
+! if (mch_getperm(fname) < 0
+! #ifdef FEAT_AUTOCMD
+! && !has_autocmd(EVENT_BUFREADCMD, fname)
+! #endif
+! )
+ {
+ retval = NOTAGFILE;
+ vim_free(nofile_fname);
+*** ../vim61.071/src/version.c Thu May 16 21:50:46 2002
+--- src/version.c Thu May 16 21:54:47 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 72,
+ /**/
+
+--
+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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/6.1.074 b/app-editors/vim/files/6.1.074
new file mode 100644
index 000000000000..720d3b25bb33
--- /dev/null
+++ b/app-editors/vim/files/6.1.074
@@ -0,0 +1,253 @@
+To: vim-dev@vim.org
+Subject: Patch 6.1.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.1.074
+Problem: When 'cdpath' includes "../..", changing to a directory in which
+ we currently already are doesn't work. ff_check_visited() adds
+ the directory both when using it as the root for searching and for
+ the actual matches. (Stephen Rasku)
+Solution: Use a separate list for the already searched directories.
+Files: src/misc2.c
+
+
+*** ../vim61.073/src/misc2.c Sun May 5 22:51:14 2002
+--- src/misc2.c Sun May 5 21:48:59 2002
+***************
+*** 3318,3324 ****
+
+ /*
+ * We might have to manage several visited lists during a search.
+! * This is expecially needed for * the tags option. If tags is set to:
+ * "./++/tags,./++/TAGS,++/tags" (replace + with *)
+ * So we have to do 3 searches:
+ * 1) search from the current files directory downward for the file "tags"
+--- 3318,3324 ----
+
+ /*
+ * We might have to manage several visited lists during a search.
+! * This is expecially needed for the tags option. If tags is set to:
+ * "./++/tags,./++/TAGS,++/tags" (replace + with *)
+ * So we have to do 3 searches:
+ * 1) search from the current files directory downward for the file "tags"
+***************
+*** 3351,3357 ****
+--- 3351,3359 ----
+ * The search context:
+ * ffsc_stack_ptr: the stack for the dirs to search
+ * ffsc_visited_list: the currently active visited list
++ * ffsc_dir_visited_list: the currently active visited list for search dirs
+ * ffsc_visited_lists_list: the list of all visited lists
++ * ffsc_dir_visited_lists_list: the list of all visited lists for search dirs
+ * ffsc_file_to_search: the file to search for
+ * ffsc_start_dir: the starting directory, if search path was relative
+ * ffsc_fix_path: the fix part of the given path (without wildcards)
+***************
+*** 3365,3371 ****
+--- 3367,3375 ----
+ {
+ ff_stack_T *ffsc_stack_ptr;
+ ff_visited_list_hdr_T *ffsc_visited_list;
++ ff_visited_list_hdr_T *ffsc_dir_visited_list;
+ ff_visited_list_hdr_T *ffsc_visited_lists_list;
++ ff_visited_list_hdr_T *ffsc_dir_visited_lists_list;
+ char_u *ffsc_file_to_search;
+ char_u *ffsc_start_dir;
+ char_u *ffsc_fix_path;
+***************
+*** 3387,3394 ****
+ #else
+ static int ff_check_visited __ARGS((ff_visited_T **, char_u *));
+ #endif
+ static void ff_free_visited_list __ARGS((ff_visited_T *vl));
+! static ff_visited_list_hdr_T* ff_get_visited_list __ARGS((char_u *));
+ #ifdef FEAT_PATH_EXTRA
+ static int ff_wc_equal __ARGS((char_u *s1, char_u *s2));
+ #endif
+--- 3391,3399 ----
+ #else
+ static int ff_check_visited __ARGS((ff_visited_T **, char_u *));
+ #endif
++ static void vim_findfile_free_visited_list __ARGS((ff_visited_list_hdr_T **list_headp));
+ static void ff_free_visited_list __ARGS((ff_visited_T *vl));
+! static ff_visited_list_hdr_T* ff_get_visited_list __ARGS((char_u *, ff_visited_list_hdr_T **list_headp));
+ #ifdef FEAT_PATH_EXTRA
+ static int ff_wc_equal __ARGS((char_u *s1, char_u *s2));
+ #endif
+***************
+*** 3541,3549 ****
+ * filename. If no list for the current filename exists, creates a new
+ * one.
+ */
+! ff_search_ctx->ffsc_visited_list = ff_get_visited_list(filename);
+ if (ff_search_ctx->ffsc_visited_list == NULL)
+ goto error_return;
+ }
+
+ if (ff_expand_buffer == NULL)
+--- 3546,3559 ----
+ * filename. If no list for the current filename exists, creates a new
+ * one.
+ */
+! ff_search_ctx->ffsc_visited_list = ff_get_visited_list(filename,
+! &ff_search_ctx->ffsc_visited_lists_list);
+ if (ff_search_ctx->ffsc_visited_list == NULL)
+ goto error_return;
++ ff_search_ctx->ffsc_dir_visited_list = ff_get_visited_list(filename,
++ &ff_search_ctx->ffsc_dir_visited_lists_list);
++ if (ff_search_ctx->ffsc_dir_visited_list == NULL)
++ goto error_return;
+ }
+
+ if (ff_expand_buffer == NULL)
+***************
+*** 3915,3921 ****
+ * first time (hence ctx->ff_filearray == NULL)
+ */
+ if (ctx->ffs_filearray == NULL
+! && ff_check_visited(&ff_search_ctx->ffsc_visited_list
+ ->ffvl_visited_list,
+ ctx->ffs_fix_path
+ #ifdef FEAT_PATH_EXTRA
+--- 3925,3931 ----
+ * first time (hence ctx->ff_filearray == NULL)
+ */
+ if (ctx->ffs_filearray == NULL
+! && ff_check_visited(&ff_search_ctx->ffsc_dir_visited_list
+ ->ffvl_visited_list,
+ ctx->ffs_fix_path
+ #ifdef FEAT_PATH_EXTRA
+***************
+*** 4282,4305 ****
+ vim_findfile_free_visited(search_ctx)
+ void *search_ctx;
+ {
+! ff_visited_list_hdr_T *vp;
+!
+! if (NULL == search_ctx)
+ return;
+
+! ff_search_ctx = (ff_search_ctx_T*)search_ctx;
+
+! while (NULL != ff_search_ctx->ffsc_visited_lists_list)
+ {
+! vp = ff_search_ctx->ffsc_visited_lists_list->ffvl_next;
+! ff_free_visited_list(
+! ff_search_ctx->ffsc_visited_lists_list->ffvl_visited_list);
+!
+! vim_free(ff_search_ctx->ffsc_visited_lists_list->ffvl_filename);
+! vim_free(ff_search_ctx->ffsc_visited_lists_list);
+! ff_search_ctx->ffsc_visited_lists_list = vp;
+ }
+! ff_search_ctx->ffsc_visited_lists_list = NULL;
+ }
+
+ static void
+--- 4292,4322 ----
+ vim_findfile_free_visited(search_ctx)
+ void *search_ctx;
+ {
+! if (search_ctx == NULL)
+ return;
+
+! ff_search_ctx = (ff_search_ctx_T *)search_ctx;
+!
+! vim_findfile_free_visited_list(&ff_search_ctx->ffsc_visited_lists_list);
+! vim_findfile_free_visited_list(&ff_search_ctx->ffsc_dir_visited_lists_list);
+! }
+
+! static void
+! vim_findfile_free_visited_list(list_headp)
+! ff_visited_list_hdr_T **list_headp;
+! {
+! ff_visited_list_hdr_T *vp;
+!
+! while (*list_headp != NULL)
+ {
+! vp = (*list_headp)->ffvl_next;
+! ff_free_visited_list((*list_headp)->ffvl_visited_list);
+!
+! vim_free((*list_headp)->ffvl_filename);
+! vim_free(*list_headp);
+! *list_headp = vp;
+ }
+! *list_headp = NULL;
+ }
+
+ static void
+***************
+*** 4322,4336 ****
+ * allocates a new one.
+ */
+ static ff_visited_list_hdr_T*
+! ff_get_visited_list(filename)
+! char_u *filename;
+ {
+ ff_visited_list_hdr_T *retptr = NULL;
+
+ /* check if a visited list for the given filename exists */
+! if (ff_search_ctx->ffsc_visited_lists_list!= NULL)
+ {
+! retptr = ff_search_ctx->ffsc_visited_lists_list;
+ while (retptr != NULL)
+ {
+ if (fnamecmp(filename, retptr->ffvl_filename) == 0)
+--- 4339,4354 ----
+ * allocates a new one.
+ */
+ static ff_visited_list_hdr_T*
+! ff_get_visited_list(filename, list_headp)
+! char_u *filename;
+! ff_visited_list_hdr_T **list_headp;
+ {
+ ff_visited_list_hdr_T *retptr = NULL;
+
+ /* check if a visited list for the given filename exists */
+! if (*list_headp != NULL)
+ {
+! retptr = *list_headp;
+ while (retptr != NULL)
+ {
+ if (fnamecmp(filename, retptr->ffvl_filename) == 0)
+***************
+*** 4380,4387 ****
+ vim_free(retptr);
+ return NULL;
+ }
+! retptr->ffvl_next = ff_search_ctx->ffsc_visited_lists_list;
+! ff_search_ctx->ffsc_visited_lists_list = retptr;
+
+ return retptr;
+ }
+--- 4398,4405 ----
+ vim_free(retptr);
+ return NULL;
+ }
+! retptr->ffvl_next = *list_headp;
+! *list_headp = retptr;
+
+ return retptr;
+ }
+*** ../vim61.073/src/version.c Thu May 16 22:08:09 2002
+--- src/version.c Thu May 16 22:10:38 2002
+***************
+*** 608,609 ****
+--- 608,611 ----
+ { /* Add new patch number below this line */
++ /**/
++ 74,
+ /**/
+
+--
+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 \\\
+\\\ Project leader for A-A-P -- http://www.a-a-p.org ///
+ \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
diff --git a/app-editors/vim/files/digest-vim-6.1-r6 b/app-editors/vim/files/digest-vim-6.1-r6
new file mode 100644
index 000000000000..db4a28a83cb1
--- /dev/null
+++ b/app-editors/vim/files/digest-vim-6.1-r6
@@ -0,0 +1 @@
+MD5 7fd0f915adc7c0dab89772884268b030 vim-6.1.tar.bz2 2890049
diff --git a/app-editors/vim/vim-6.1-r6.ebuild b/app-editors/vim/vim-6.1-r6.ebuild
new file mode 100644
index 000000000000..fbfbbc8dd67c
--- /dev/null
+++ b/app-editors/vim/vim-6.1-r6.ebuild
@@ -0,0 +1,172 @@
+# Copyright 2001 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Maintainer: Aron Griffis <agriffis@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/vim-6.1-r6.ebuild,v 1.1 2002/05/19 08:52:32 rphillips 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.vim.org/pub/vim/unix/$A
+ ftp://ftp.us.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.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.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.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A"
+else
+ die "Eek! I don't know how to interpret the version!"
+fi
+
+DESCRIPTION="Vi IMproved!"
+HOMEPAGE="http://www.vim.org/"
+
+DEPEND="virtual/glibc
+ >=sys-libs/ncurses-5.2-r2
+ dev-util/cscope
+ >=sys-apps/portage-1.8.18
+ 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 )"
+# It appears that the tclinterp stuff in Vim is broken right now (at
+# least on Linux... it works on BSD). 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 any patches available for this version
+ local patches=`echo $FILESDIR/$PV.[0-9][0-9][0-9]`
+ case "$patches" in
+ *\])
+ ;; # globbing didn't work; no patches available
+ *)
+ cd $S
+ for a in $patches; do
+ patch -p0 < $a
+ done
+ ;;
+ esac
+ # Also apply the ebuild syntax patch, until this is in Vim proper
+ cd $S/runtime
+ patch -f -p0 < ${FILESDIR}/ebuild.patch
+}
+
+src_compile() {
+
+ local myconf
+ use nls && myconf="--enable-multibyte" || 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 \
+ --with-features=huge --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 \
+ --with-features=huge --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 and gvimrc (who cares if gvim wasn't built)
+ insinto /usr/share/vim
+ doins ${FILESDIR}/vimrc ${FILESDIR}/gvimrc
+
+ #fix problems with vim not finding its data files.
+ dodir /etc/env.d
+ echo "VIMRUNTIME=/usr/share/vim/vim${vim_version/.}" \
+ >${D}/etc/env.d/40vim
+}