]> git.pld-linux.org Git - packages/vim.git/commitdiff
- new
authorAdam Gołębiowski <adamg@pld-linux.org>
Wed, 6 Oct 2004 14:04:36 +0000 (14:04 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    6.3.018 -> 1.1
    6.3.019 -> 1.1
    6.3.020 -> 1.1
    6.3.021 -> 1.1
    6.3.022 -> 1.1
    6.3.023 -> 1.1
    6.3.024 -> 1.1
    6.3.025 -> 1.1
    6.3.026 -> 1.1
    6.3.027 -> 1.1
    6.3.028 -> 1.1
    6.3.029 -> 1.1

12 files changed:
6.3.018 [new file with mode: 0644]
6.3.019 [new file with mode: 0644]
6.3.020 [new file with mode: 0644]
6.3.021 [new file with mode: 0644]
6.3.022 [new file with mode: 0644]
6.3.023 [new file with mode: 0644]
6.3.024 [new file with mode: 0644]
6.3.025 [new file with mode: 0644]
6.3.026 [new file with mode: 0644]
6.3.027 [new file with mode: 0644]
6.3.028 [new file with mode: 0644]
6.3.029 [new file with mode: 0644]

diff --git a/6.3.018 b/6.3.018
new file mode 100644 (file)
index 0000000..b6285d6
--- /dev/null
+++ b/6.3.018
@@ -0,0 +1,54 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.018
+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.3.018
+Problem:    ":0argadd zero" added the argument after the first one, instead of
+           before it. (Adri Verhoef)
+Solution:   Accept a zero range for ":argadd".
+Files:     src/ex_cmds.h
+
+
+*** ../vim-6.3.017/src/ex_cmds.h       Wed Jun  9 14:56:25 2004
+--- src/ex_cmds.h      Mon Aug 30 14:58:51 2004
+***************
+*** 109,115 ****
+  EX(CMD_args,         "args",         ex_args,
+                       BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+  EX(CMD_argadd,               "argadd",       ex_argadd,
+!                      BANG|NEEDARG|RANGE|NOTADR|COUNT|FILES|TRLBAR),
+  EX(CMD_argdelete,    "argdelete",    ex_argdelete,
+                       BANG|RANGE|NOTADR|COUNT|FILES|TRLBAR),
+  EX(CMD_argdo,                "argdo",        ex_listdo,
+--- 109,115 ----
+  EX(CMD_args,         "args",         ex_args,
+                       BANG|FILES|EDITCMD|ARGOPT|TRLBAR),
+  EX(CMD_argadd,               "argadd",       ex_argadd,
+!                      BANG|NEEDARG|RANGE|NOTADR|ZEROR|COUNT|FILES|TRLBAR),
+  EX(CMD_argdelete,    "argdelete",    ex_argdelete,
+                       BANG|RANGE|NOTADR|COUNT|FILES|TRLBAR),
+  EX(CMD_argdo,                "argdo",        ex_listdo,
+*** ../vim-6.3.017/src/version.c       Fri Aug 27 21:14:50 2004
+--- src/version.c      Mon Aug 30 13:47:03 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     18,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+234. You started college as a chemistry major, and walk out four years
+     later as an Internet provider.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.019 b/6.3.019
new file mode 100644 (file)
index 0000000..d695708
--- /dev/null
+++ b/6.3.019
@@ -0,0 +1,65 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.019
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.019
+Problem:    Crash in startup for debug version. (David Rennals)
+Solution:   Move the call to nbdebug_wait() to after allocating NameBuff.
+Files:     src/main.c
+
+
+*** ../vim-6.3.018/src/main.c  Wed Jun  9 14:56:25 2004
+--- src/main.c Mon Aug 30 13:45:45 2004
+***************
+*** 150,160 ****
+      int              literal = FALSE;        /* don't expand file names */
+  #endif
+  
+- # ifdef NBDEBUG
+-     nbdebug_log_init("SPRO_GVIM_DEBUG", "SPRO_GVIM_DLEVEL");
+-     nbdebug_wait(WT_ENV | WT_WAIT | WT_STOP, "SPRO_GVIM_WAIT", 20);
+- # endif
+- 
+      /*
+       * Do any system-specific initialisations.  These can NOT use IObuff or
+       * NameBuff.  Thus emsg2() cannot be called!
+--- 150,155 ----
+***************
+*** 208,213 ****
+--- 203,215 ----
+       mch_exit(0);
+  
+      TIME_MSG("Allocated generic buffers");
++ 
++ #ifdef NBDEBUG
++     /* Wait a moment for debugging NetBeans.  Must be after allocating
++      * NameBuff. */
++     nbdebug_log_init("SPRO_GVIM_DEBUG", "SPRO_GVIM_DLEVEL");
++     nbdebug_wait(WT_ENV | WT_WAIT | WT_STOP, "SPRO_GVIM_WAIT", 20);
++ #endif
+  
+  #if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
+      /*
+*** ../vim-6.3.018/src/version.c       Mon Aug 30 15:02:02 2004
+--- src/version.c      Mon Aug 30 19:45:31 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     19,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+241. You try to look for Net Search even when you're in File Manager.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.020 b/6.3.020
new file mode 100644 (file)
index 0000000..5ab9640
--- /dev/null
+++ b/6.3.020
@@ -0,0 +1,56 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.020
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.020
+Problem:    When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not
+           delete a word but only a combining character of the first
+           character, if there is one. (Raphael Finkel)
+Solution:   Correctly check that one character is being deleted.
+Files:     src/misc1.c
+
+
+*** ../vim-6.3.019/src/misc1.c Wed Jun  9 14:56:25 2004
+--- src/misc1.c        Tue Aug 31 20:02:22 2004
+***************
+*** 2081,2087 ****
+  #ifdef FEAT_MBYTE
+      /* If 'delcombine' is set and deleting (less than) one character, only
+       * delete the last combining character. */
+!     if (p_deco && enc_utf8 && (*mb_ptr2len_check)(oldp + col) <= count)
+      {
+       int     c1, c2;
+       int     n;
+--- 2081,2087 ----
+  #ifdef FEAT_MBYTE
+      /* If 'delcombine' is set and deleting (less than) one character, only
+       * delete the last combining character. */
+!     if (p_deco && enc_utf8 && utfc_ptr2len_check(oldp + col) >= count)
+      {
+       int     c1, c2;
+       int     n;
+*** ../vim-6.3.019/src/version.c       Mon Aug 30 19:46:07 2004
+--- src/version.c      Tue Aug 31 20:03:57 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     20,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+257. Your "hundred-and-one" lists include well over 101 items, since you
+     automatically interpret all numbers in hexadecimal notation.
+     (hex 101 = decimal 257)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.021 b/6.3.021
new file mode 100644 (file)
index 0000000..94877a3
--- /dev/null
+++ b/6.3.021
@@ -0,0 +1,82 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.021
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.021
+Problem:    When the last character of a file name is a multi-byte character
+           and the last byte is a path separator, the file cannot be edited.
+Solution:   Check for the last byte to be part of a multi-byte character.
+           (Taro Muraoka)
+Files:     src/fileio.c
+
+
+*** ../vim-6.3.020/src/fileio.c        Tue Jun 29 20:07:02 2004
+--- src/fileio.c       Sat Sep  4 15:55:15 2004
+***************
+*** 370,384 ****
+       * file may destroy it!  Reported on MS-DOS and Win 95.
+       * If the name is too long we might crash further on, quit here.
+       */
+!     if (fname != NULL
+!          && *fname != NUL
+!          && (vim_ispathsep(*(fname + STRLEN(fname) - 1))
+!              || STRLEN(fname) >= MAXPATHL))
+      {
+!      filemess(curbuf, fname, (char_u *)_("Illegal file name"), 0);
+!      msg_end();
+!      msg_scroll = msg_save;
+!      return FAIL;
+      }
+  
+  #ifdef UNIX
+--- 370,390 ----
+       * file may destroy it!  Reported on MS-DOS and Win 95.
+       * If the name is too long we might crash further on, quit here.
+       */
+!     if (fname != NULL && *fname != NUL)
+      {
+!      p = fname + STRLEN(fname) - 1;
+!      if ((vim_ispathsep(*p)
+! #ifdef FEAT_MBYTE
+!                  /* Do not use a multi-byte char as path separator. */
+!                  && (!has_mbyte || (*mb_head_off)(fname, p) == 0)
+! #endif
+!          ) || STRLEN(fname) >= MAXPATHL)
+!      {
+!          filemess(curbuf, fname, (char_u *)_("Illegal file name"), 0);
+!          msg_end();
+!          msg_scroll = msg_save;
+!          return FAIL;
+!      }
+      }
+  
+  #ifdef UNIX
+*** ../vim-6.3.020/src/version.c       Tue Aug 31 20:06:01 2004
+--- src/version.c      Sat Sep  4 16:04:00 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     21,
+  /**/
+
+-- 
+   An extraordinary TALL KNIGHT in all black (possibly John with Mike on his
+   shoulders) walks out from the dark trees.  He is extremely fierce and
+   gruesome countenance.  He walks towards KING ARTHUR and PATSY, who are
+   wazzing like mad.  (Salopian slang, meaning very scared.  almost to the
+   point of wetting oneself, e.g. before an important football match or
+   prior to a postering.  Salopian slang meaning a beating by the school
+   praeposters.  Sorry about the Salopian slant to this stage direction - Ed.)
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.022 b/6.3.022
new file mode 100644 (file)
index 0000000..058371c
--- /dev/null
+++ b/6.3.022
@@ -0,0 +1,73 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.022 (extra)
+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.3.022 (extra)
+Problem:    Win32: When the last character of a file name is a multi-byte
+           character and the last byte is a path separator, the file cannot
+           be written.  A trail byte that is a space makes that a file cannot
+           be opened from the command line.
+Solution:   Recognize double-byte characters when parsing the command line.
+           In mch_stat() check for the last byte to be part of a multi-byte
+           character.  (Taro Muraoka)
+Files:     src/gui_w48.c, src/os_mswin.c
+
+
+*** ../vim-6.3.021/src/gui_w48.c       Wed Jun  9 14:56:26 2004
+--- src/gui_w48.c      Sat Sep  4 16:18:32 2004
+***************
+*** 3376,3381 ****
+--- 3376,3391 ----
+               {
+                   if (pnew != NULL)
+                       *pnew++ = *p;
++ #ifdef FEAT_MBYTE
++                  /* Can't use mb_* functions, because 'encoding' is not
++                   * initialized yet here. */
++                  if (IsDBCSLeadByte(*p))
++                  {
++                      ++p;
++                      if (pnew != NULL)
++                          *pnew++ = *p;
++                  }
++ #endif
+                   ++p;
+               }
+           }
+*** ../vim-6.3.021/src/os_mswin.c      Wed Jun  9 14:56:26 2004
+--- src/os_mswin.c     Sat Sep  4 16:10:16 2004
+***************
+*** 448,453 ****
+--- 448,457 ----
+      p = buf + strlen(buf);
+      if (p > buf)
+       --p;
++ #ifdef FEAT_MBYTE
++     if (p > buf && has_mbyte)
++      p -= (*mb_head_off)(buf, p);
++ #endif
+      if (p > buf && (*p == '\\' || *p == '/') && p[-1] != ':')
+       *p = NUL;
+  #ifdef FEAT_MBYTE
+*** ../vim-6.3.021/src/version.c       Sat Sep  4 16:05:51 2004
+--- src/version.c      Sat Sep  4 16:19:36 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     22,
+  /**/
+
+-- 
+Back up my hard drive?  I can't find the reverse switch!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.023 b/6.3.023
new file mode 100644 (file)
index 0000000..d197aa8
--- /dev/null
+++ b/6.3.023
@@ -0,0 +1,196 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.023
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.023
+Problem:    When the "to" part of a mapping starts with its "from" part,
+           abbreviations for the same characters is not possible.  For
+           example, when <Space> is mapped to something that starts with a
+           space, typing <Space> does not expand abbreviations.
+Solution:   Only disable expanding abbreviations when a mapping is not
+           remapped, don't disable it when the RHS of a mapping starts with
+           the LHS.
+Files:     src/getchar.c, src/vim.h
+
+
+*** ../vim-6.3.022/src/getchar.c       Wed Jun  9 14:56:25 2004
+--- src/getchar.c      Sat Sep  4 18:16:26 2004
+***************
+*** 100,105 ****
+--- 100,106 ----
+  #define RM_YES               0       /* tb_noremap: remap */
+  #define RM_NONE              1       /* tb_noremap: don't remap */
+  #define RM_SCRIPT    2       /* tb_noremap: remap local script mappings */
++ #define RM_ABBR              4       /* tb_noremap: don't remap, do abbrev. */
+  
+  /* typebuf.tb_buf has three parts: room in front (for result of mappings), the
+   * middle for typeahead and room for new characters (which needs to be 3 *
+***************
+*** 896,901 ****
+--- 897,904 ----
+   *
+   * If noremap is REMAP_YES, new string can be mapped again.
+   * If noremap is REMAP_NONE, new string cannot be mapped again.
++  * If noremap is REMAP_SKIP, fist char of new string cannot be mapped again,
++  * but abbreviations are allowed.
+   * If noremap is REMAP_SCRIPT, new string cannot be mapped again, except for
+   *                   script-local mappings.
+   * If noremap is > 0, that many characters of the new string cannot be mapped.
+***************
+*** 993,998 ****
+--- 996,1003 ----
+      /* If noremap == REMAP_SCRIPT: do remap script-local mappings. */
+      if (noremap == REMAP_SCRIPT)
+       val = RM_SCRIPT;
++     else if (noremap == REMAP_SKIP)
++      val = RM_ABBR;
+      else
+       val = RM_NONE;
+  
+***************
+*** 1004,1010 ****
+       * If noremap  > 0: "noremap" characters are not remappable, the rest
+       *                       mappable
+       */
+!     if (noremap < 0)
+       nrm = addlen;
+      else
+       nrm = noremap;
+--- 1009,1017 ----
+       * If noremap  > 0: "noremap" characters are not remappable, the rest
+       *                       mappable
+       */
+!     if (noremap == REMAP_SKIP)
+!      nrm = 1;
+!     else if (noremap < 0)
+       nrm = addlen;
+      else
+       nrm = noremap;
+***************
+*** 1856,1863 ****
+                           && (no_zero_mapping == 0 || c1 != '0')
+                           && (typebuf.tb_maplen == 0
+                               || (p_remap
+!                                  && typebuf.tb_noremap[typebuf.tb_off]
+!                                                                != RM_NONE))
+                           && !(p_paste && (State & (INSERT + CMDLINE)))
+                           && !(State == HITRETURN && (c1 == CAR || c1 == ' '))
+                           && State != ASKMORE
+--- 1863,1870 ----
+                           && (no_zero_mapping == 0 || c1 != '0')
+                           && (typebuf.tb_maplen == 0
+                               || (p_remap
+!                                  && (typebuf.tb_noremap[typebuf.tb_off]
+!                                                  & (RM_NONE|RM_ABBR)) == 0))
+                           && !(p_paste && (State & (INSERT + CMDLINE)))
+                           && !(State == HITRETURN && (c1 == CAR || c1 == ' '))
+                           && State != ASKMORE
+***************
+*** 1973,1979 ****
+                                    * remapped, skip the entry.
+                                    */
+                                   for (n = mlen; --n >= 0; )
+!                                      if (*s++ == RM_NONE)
+                                           break;
+                                   if (n >= 0)
+                                       continue;
+--- 1980,1986 ----
+                                    * remapped, skip the entry.
+                                    */
+                                   for (n = mlen; --n >= 0; )
+!                                      if (*s++ & (RM_NONE|RM_ABBR))
+                                           break;
+                                   if (n >= 0)
+                                       continue;
+***************
+*** 2132,2138 ****
+                                                        + typebuf.tb_off, 1);
+                                   }
+                                   KeyNoremap = (typebuf.tb_noremap[
+!                                              typebuf.tb_off] != REMAP_YES);
+                                   del_typebuf(1, 0);
+                               }
+                               break;      /* got character, break for loop */
+--- 2139,2146 ----
+                                                        + typebuf.tb_off, 1);
+                                   }
+                                   KeyNoremap = (typebuf.tb_noremap[
+!                                                 typebuf.tb_off]
+!                                                     & (RM_NONE|RM_SCRIPT));
+                                   del_typebuf(1, 0);
+                               }
+                               break;      /* got character, break for loop */
+***************
+*** 2233,2239 ****
+                       /*
+                        * Insert the 'to' part in the typebuf.tb_buf.
+                        * If 'from' field is the same as the start of the
+!                       * 'to' field, don't remap the first character.
+                        * If m_noremap is set, don't remap the whole 'to'
+                        * part.
+                        */
+--- 2241,2248 ----
+                       /*
+                        * Insert the 'to' part in the typebuf.tb_buf.
+                        * If 'from' field is the same as the start of the
+!                       * 'to' field, don't remap the first character (but do
+!                       * allow abbreviations).
+                        * If m_noremap is set, don't remap the whole 'to'
+                        * part.
+                        */
+***************
+*** 2241,2248 ****
+                               mp->m_noremap != REMAP_YES
+                                           ? mp->m_noremap
+                                           : STRNCMP(mp->m_str, mp->m_keys,
+!                                                             (size_t)keylen)
+!                                                            ? REMAP_YES : 1,
+                               0, TRUE, cmd_silent || mp->m_silent) == FAIL)
+                       {
+                           c = -1;
+--- 2250,2257 ----
+                               mp->m_noremap != REMAP_YES
+                                           ? mp->m_noremap
+                                           : STRNCMP(mp->m_str, mp->m_keys,
+!                                                        (size_t)keylen) != 0
+!                                                   ? REMAP_YES : REMAP_SKIP,
+                               0, TRUE, cmd_silent || mp->m_silent) == FAIL)
+                       {
+                           c = -1;
+*** ../vim-6.3.022/src/vim.h   Wed Jun  9 14:56:26 2004
+--- src/vim.h  Sat Sep  4 18:17:00 2004
+***************
+*** 726,731 ****
+--- 726,732 ----
+  #define REMAP_YES    0       /* allow remapping */
+  #define REMAP_NONE   -1      /* no remapping */
+  #define REMAP_SCRIPT -2      /* remap script-local mappings only */
++ #define REMAP_SKIP   -3      /* no remapping for first char */
+  
+  /* Values for mch_call_shell() second argument */
+  #define SHELL_FILTER 1       /* filtering text */
+*** ../vim-6.3.022/src/version.c       Sat Sep  4 16:28:02 2004
+--- src/version.c      Sat Sep  4 18:20:40 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     23,
+  /**/
+
+-- 
+TALL KNIGHT: We shall say Ni! again to you if you do not appease us.
+ARTHUR:      All right!  What do you want?
+TALL KNIGHT: We want ... a shrubbery!
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.024 b/6.3.024
new file mode 100644 (file)
index 0000000..a0ad806
--- /dev/null
+++ b/6.3.024
@@ -0,0 +1,81 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.024
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.024
+Problem:    In a few places a string in allocated memory is not terminated
+           with a NUL.
+Solution:   Add ga_append(NUL) in script_get(), gui_do_findrepl() and
+           serverGetVimNames().
+Files:     src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c
+
+
+*** ../vim-6.3.023/src/ex_getln.c      Fri Jul  9 22:21:01 2004
+--- src/ex_getln.c     Sun Sep  5 20:29:52 2004
+***************
+*** 5472,5477 ****
+--- 5472,5478 ----
+       ga_append(&ga, '\n');
+       vim_free(theline);
+      }
++     ga_append(&ga, NUL);
+  
+      return (char_u *)ga.ga_data;
+  }
+*** ../vim-6.3.023/src/gui.c   Wed Jun  9 14:56:25 2004
+--- src/gui.c  Sun Sep  5 20:33:02 2004
+***************
+*** 4583,4594 ****
+--- 4583,4596 ----
+       ga_concat(&ga, (char_u *)"/");
+       concat_esc(&ga, repl_text, '/');        /* escape slashes */
+       ga_concat(&ga, (char_u *)"/g");
++      ga_append(&ga, NUL);
+       do_cmdline_cmd(ga.ga_data);
+      }
+      else
+      {
+       /* Search for the next match. */
+       i = msg_scroll;
++      ga_append(&ga, NUL);
+       do_search(NULL, down ? '/' : '?', ga.ga_data, 1L,
+                                                   SEARCH_MSG + SEARCH_MARK);
+       msg_scroll = i;     /* don't let an error message set msg_scroll */
+*** ../vim-6.3.023/src/if_xcmdsrv.c    Wed Jun  9 14:56:26 2004
+--- src/if_xcmdsrv.c   Sun Sep  5 20:33:48 2004
+***************
+*** 683,688 ****
+--- 683,689 ----
+      }
+      if (regProp != empty_prop)
+       XFree(regProp);
++     ga_append(&ga, NUL);
+      return ga.ga_data;
+  }
+  
+*** ../vim-6.3.023/src/version.c       Sat Sep  4 19:43:59 2004
+--- src/version.c      Sun Sep  5 20:47:49 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     24,
+  /**/
+
+-- 
+LAUNCELOT: At last!   A call!  A cry of distress ...
+           (he draws his sword, and turns to CONCORDE)
+           Concorde!  Brave, Concorde ... you shall not have died in vain!
+CONCORDE:  I'm not quite dead, sir ...
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.025 b/6.3.025
new file mode 100644 (file)
index 0000000..bf15fbc
--- /dev/null
+++ b/6.3.025
@@ -0,0 +1,46 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.025 (extra)
+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.3.025 (extra)
+Problem:    Missing NUL for list of server names.
+Solution:   Add ga_append(NUL) in serverGetVimNames().
+Files:     src/os_mswin.c
+
+
+*** ../vim-6.3.024/src/os_mswin.c      Sat Sep  4 16:28:02 2004
+--- src/os_mswin.c     Sun Sep  5 20:35:30 2004
+***************
+*** 2672,2677 ****
+--- 2672,2678 ----
+      ga_init2(&ga, 1, 100);
+  
+      EnumWindows(enumWindowsGetNames, (LPARAM)(&ga));
++     ga_append(&ga, NUL);
+  
+      return ga.ga_data;
+  }
+*** ../vim-6.3.024/src/version.c       Sun Sep  5 20:48:38 2004
+--- src/version.c      Sun Sep  5 20:51:54 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     25,
+  /**/
+
+-- 
+Apologies for taking up the bandwidth with the apology.  Anything else I
+can apologise for ...... er no can't think of anything, sorry about that.
+               Andy Hunt (Member of British Olympic Apology Squad)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.026 b/6.3.026
new file mode 100644 (file)
index 0000000..15f2360
--- /dev/null
+++ b/6.3.026
@@ -0,0 +1,99 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.026
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.026
+Problem:    When ~/.vim/after/syntax/syncolor.vim contains a command that
+            reloads the colors an enless loop and/or a crash may occur.
+Solution:   Only free the old value of an option when it was originally
+            allocated.  Limit recursiveness of init_highlight() to 5 levels.
+Files:      src/option.c, src/syntax.c
+
+
+*** ../vim-6.3.025/src/option.c        Thu Aug 26 16:01:15 2004
+--- src/option.c       Mon Sep 13 15:42:46 2004
+***************
+*** 4597,4602 ****
+--- 4597,4603 ----
+      char_u   *s, *p;
+      int              did_chartab = FALSE;
+      char_u   **gvarp;
++     int              free_oldval = (options[opt_idx].flags & P_ALLOCED);
+  
+      /* Get the global option to compare with, otherwise we would have to check
+       * two values for all local options. */
+***************
+*** 5729,5736 ****
+  #endif
+       /*
+        * Free string options that are in allocated memory.
+        */
+!      if (options[opt_idx].flags & P_ALLOCED)
+           free_string_option(oldval);
+       if (new_value_alloced)
+           options[opt_idx].flags |= P_ALLOCED;
+--- 5730,5739 ----
+  #endif
+       /*
+        * Free string options that are in allocated memory.
++       * Use "free_oldval", because recursiveness may change the flags under
++       * our fingers (esp. init_highlight()).
+        */
+!      if (free_oldval)
+           free_string_option(oldval);
+       if (new_value_alloced)
+           options[opt_idx].flags |= P_ALLOCED;
+*** ../vim-6.3.025/src/syntax.c        Wed Jun  9 14:56:25 2004
+--- src/syntax.c       Mon Sep 13 15:44:04 2004
+***************
+*** 6016,6022 ****
+       * If syntax highlighting is enabled load the highlighting for it.
+       */
+      if (get_var_value((char_u *)"g:syntax_on") != NULL)
+!      (void)cmd_runtime((char_u *)"syntax/syncolor.vim", TRUE);
+  #endif
+  }
+  
+--- 6016,6033 ----
+       * If syntax highlighting is enabled load the highlighting for it.
+       */
+      if (get_var_value((char_u *)"g:syntax_on") != NULL)
+!     {
+!      static int      recursive = 0;
+! 
+!      if (recursive >= 5)
+!          EMSG(_("E679: recursive loop loading syncolor.vim"));
+!      else
+!      {
+!          ++recursive;
+!          (void)cmd_runtime((char_u *)"syntax/syncolor.vim", TRUE);
+!          --recursive;
+!      }
+!     }
+  #endif
+  }
+  
+*** ../vim-6.3.025/src/version.c       Sun Sep  5 20:53:04 2004
+--- src/version.c      Mon Sep 13 16:33:19 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     26,
+  /**/
+
+-- 
+A special law prohibits unmarried women from parachuting on Sunday or she
+shall risk arrest, fine, and/or jailing.
+               [real standing law in Florida, United States of America]
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.027 b/6.3.027
new file mode 100644 (file)
index 0000000..7c458e3
--- /dev/null
+++ b/6.3.027
@@ -0,0 +1,213 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.027
+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.3.027
+Problem:    VMS: Writing a file may insert extra CR characters.  Not all
+           terminals are recognized correctly.  Vt320 doesn't support colors.
+           Environment variables are not expanded correctly.
+Solution:   Use another method to write files.  Add vt320 termcap codes for
+           colors.  (Zoltan Arpadffy)
+Files:     src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h,
+           src/term.c
+
+
+*** ../vim-6.3.026/src/fileio.c        Sat Sep  4 16:05:51 2004
+--- src/fileio.c       Sat Sep  4 15:55:15 2004
+***************
+*** 479,484 ****
+--- 479,486 ----
+  #endif
+  #ifdef VMS
+           curbuf->b_fab_rfm = st.st_fab_rfm;
++          curbuf->b_fab_rat = st.st_fab_rat;
++          curbuf->b_fab_mrs = st.st_fab_mrs;
+  #endif
+       }
+       else
+***************
+*** 2543,2548 ****
+--- 2545,2555 ----
+  }
+  #endif /* UNIX */
+  
++ #if defined(VMS) && !defined(MIN)
++ /* Older DECC compiler for VAX doesn't define MIN() */
++ # define MIN(a, b) ((a) < (b) ? (a) : (b))
++ #endif
++ 
+  /*
+   * buf_write() - write to file 'fname' lines 'start' through 'end'
+   *
+***************
+*** 3936,3955 ****
+        * On VMS there is a problem: newlines get added when writing blocks
+        * at a time. Fix it by writing a line at a time.
+        * This is much slower!
+!       * Explanation: Vim can not handle, so far, variable record format.
+!       * With $analize/rms filename you can get the rms file structure, and
+!       * if the Record format filed is variable, CR will be added after
+!       * every written buffer.  In other cases it works without this fix.
+!       * From other side read is about 5 times slower for "variable record
+!       * format" files.
+        */
+!      if (buf->b_fab_rfm == FAB$C_VAR)
+       {
+!          write_info.bw_len = len;
+!          if (buf_write_bytes(&write_info) == FAIL)
+           {
+!              end = 0;                /* write error: break loop */
+!              break;
+           }
+           write_info.bw_len = bufsize;
+           nchars += len;
+--- 3943,3971 ----
+        * On VMS there is a problem: newlines get added when writing blocks
+        * at a time. Fix it by writing a line at a time.
+        * This is much slower!
+!       * Explanation: VAX/DECC RTL insists that records in some RMS
+!       * structures end with a newline (carriage return) character, and if
+!       * they don't it adds one.
+!       * With other RMS structures it works perfect without this fix.
+        */
+!      if ((buf->b_fab_rat & (FAB$M_FTN | FAB$M_CR)) != 0)
+       {
+!          int b2write;
+! 
+!          buf->b_fab_mrs = (buf->b_fab_mrs == 0
+!                  ? MIN(4096, bufsize)
+!                  : MIN(buf->b_fab_mrs, bufsize));
+! 
+!          b2write = len;
+!          while (b2write > 0)
+           {
+!              write_info.bw_len = MIN(b2write, buf->b_fab_mrs);
+!              if (buf_write_bytes(&write_info) == FAIL)
+!              {
+!                  end = 0;
+!                  break;
+!              }
+!              b2write -= MIN(b2write, buf->b_fab_mrs);
+           }
+           write_info.bw_len = bufsize;
+           nchars += len;
+*** ../vim-6.3.026/src/misc1.c Tue Aug 31 20:06:01 2004
+--- src/misc1.c        Tue Aug 31 20:02:22 2004
+***************
+*** 3233,3239 ****
+      while (*src && dstlen > 0)
+      {
+       copy_char = TRUE;
+!      if (*src == '$'
+  #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+               || *src == '%'
+  #endif
+--- 3233,3243 ----
+      while (*src && dstlen > 0)
+      {
+       copy_char = TRUE;
+!      if ((*src == '$'
+! #ifdef VMS
+!                  && at_start
+! #endif
+!         )
+  #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+               || *src == '%'
+  #endif
+*** ../vim-6.3.026/src/os_unix.c       Wed Jun  9 14:56:26 2004
+--- src/os_unix.c      Mon Aug 30 12:07:11 2004
+***************
+*** 1921,1929 ****
+  {
+      if (name == NULL)
+       return FALSE;          /* actually all ANSI comp. terminals should be here  */
+!     return (STRNICMP(name, "vt3", 3) == 0     /* it will cover all from VT100-VT300 */
+!          || STRNICMP(name, "vt2", 3) == 0  /* TODO: from VT340 can hanle colors  */
+!          || STRNICMP(name, "vt1", 3) == 0
+           || STRCMP(name, "builtin_vt320") == 0);
+  }
+  
+--- 1921,1929 ----
+  {
+      if (name == NULL)
+       return FALSE;          /* actually all ANSI comp. terminals should be here  */
+!     /* catch VT100 - VT5xx */
+!     return ((STRNICMP(name, "vt", 2) == 0
+!              && vim_strchr((char_u *)"12345", name[2]) != NULL)
+           || STRCMP(name, "builtin_vt320") == 0);
+  }
+  
+*** ../vim-6.3.026/src/structs.h       Wed Jun  9 14:56:26 2004
+--- src/structs.h      Mon Aug 30 12:09:57 2004
+***************
+*** 918,924 ****
+      FSSpec   b_FSSpec;       /* MacOS File Identification */
+  #endif
+  #ifdef VMS
+!     char     b_fab_rfm;      /* Record format */
+  #endif
+  #ifdef FEAT_SNIFF
+      int              b_sniff;        /* file was loaded through Sniff */
+--- 918,926 ----
+      FSSpec   b_FSSpec;       /* MacOS File Identification */
+  #endif
+  #ifdef VMS
+!     char      b_fab_rfm;     /* Record format    */
+!     char      b_fab_rat;     /* Record attribute */
+!     unsigned int b_fab_mrs;  /* Max record size  */
+  #endif
+  #ifdef FEAT_SNIFF
+      int              b_sniff;        /* file was loaded through Sniff */
+*** ../vim-6.3.026/src/term.c  Wed Jun  9 14:56:26 2004
+--- src/term.c Mon Aug 30 12:02:37 2004
+***************
+*** 808,815 ****
+--- 808,827 ----
+      {(int)KS_CDL,    IF_EB("\033[%dM", ESC_STR "[%dM")},
+  #  endif
+      {(int)KS_CL,     IF_EB("\033[H\033[2J", ESC_STR "[H" ESC_STR_nc "[2J")},
++     {(int)KS_CD,     IF_EB("\033[J", ESC_STR "[J")},
++     {(int)KS_CCO,    "8"},                   /* allow 8 colors */
+      {(int)KS_ME,     IF_EB("\033[0m", ESC_STR "[0m")},
+      {(int)KS_MR,     IF_EB("\033[7m", ESC_STR "[7m")},
++     {(int)KS_MD,        IF_EB("\033[1m", ESC_STR "[1m")},  /* bold mode */
++     {(int)KS_SE,        IF_EB("\033[22m", ESC_STR "[22m")},/* normal mode */
++     {(int)KS_UE,        IF_EB("\033[24m", ESC_STR "[24m")},/* exit underscore mode */
++     {(int)KS_US,        IF_EB("\033[4m", ESC_STR "[4m")},  /* underscore mode */
++     {(int)KS_CZH,       IF_EB("\033[34;43m", ESC_STR "[34;43m" )},  /* italic mode: blue text on yellow */
++     {(int)KS_CZR,       IF_EB("\033[0m", ESC_STR "[0m")},           /* italic mode end */
++     {(int)KS_CAB,       IF_EB("\033[4%dm", ESC_STR "[4%dm" )},      /* set background color (ANSI) */
++     {(int)KS_CAF,       IF_EB("\033[3%dm", ESC_STR "[3%dm" )},      /* set foreground color (ANSI) */
++     {(int)KS_CSB,       IF_EB("\033[102;%dm", ESC_STR "[102;%dm" )},    /* set screen background color */
++     {(int)KS_CSF,       IF_EB("\033[101;%dm", ESC_STR "[101;%dm" )},    /* set screen foreground color */
+      {(int)KS_MS,     "y"},
+      {(int)KS_UT,     "y"},
+      {(int)KS_LE,     "\b"},
+*** ../vim-6.3.026/src/version.c       Mon Sep 13 16:36:12 2004
+--- src/version.c      Sat Sep 18 20:25:07 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     27,
+  /**/
+
+-- 
+Scientists decoded the first message from an alien civilization:
+        SIMPLY SEND 6 TIMES 10 TO THE 50 ATOMS OF HYDROGEN TO THE STAR
+SYSTEM AT THE TOP OF THE LIST, CROSS OFF THAT STAR SYSTEM, THEN PUT
+YOUR STAR SYSTEM AT THE BOTTOM OF THE LIST AND SEND IT TO 100 OTHER
+STAR SYSTEMS.  WITHIN ONE TENTH GALACTIC ROTATION YOU WILL RECEIVE
+ENOUGH HYDROGREN TO POWER YOUR CIVILIZATION UNTIL ENTROPY REACHES ITS
+MAXIMUM!  IT REALLY WORKS!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.028 b/6.3.028
new file mode 100644 (file)
index 0000000..aa8d537
--- /dev/null
+++ b/6.3.028
@@ -0,0 +1,62 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.028
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.028
+Problem:    When appending to a file the BOM marker may be written.  (Alex
+           Jakushev)
+Solution:   Do not write the BOM marker when appending.
+Files:     src/fileio.c
+
+
+*** ../vim-6.3.027/src/fileio.c        Sat Sep 18 20:28:07 2004
+--- src/fileio.c       Sat Sep 18 20:51:58 2004
+***************
+*** 3838,3845 ****
+  #ifdef FEAT_MBYTE
+      /*
+       * The BOM is written just after the encryption magic number.
+       */
+!     if (buf->b_p_bomb && !write_bin)
+      {
+       write_info.bw_len = make_bom(buffer, fenc);
+       if (write_info.bw_len > 0)
+--- 3838,3847 ----
+  #ifdef FEAT_MBYTE
+      /*
+       * The BOM is written just after the encryption magic number.
++      * Skip it when appending and the file already existed, the BOM only makes
++      * sense at the start of the file.
+       */
+!     if (buf->b_p_bomb && !write_bin && (!append || perm < 0))
+      {
+       write_info.bw_len = make_bom(buffer, fenc);
+       if (write_info.bw_len > 0)
+*** ../vim-6.3.027/src/version.c       Sat Sep 18 20:28:07 2004
+--- src/version.c      Sat Sep 18 21:12:43 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     28,
+  /**/
+
+-- 
+The word "leader" is derived from the word "lead", as in the material that
+bullets are made out of.  The term "leader" was popularized at about the same
+time as the invention of firearms.  It grew out of the observation that the
+person in charge of every organization was the person whom everyone wanted to
+fill with hot lead.
+   I don't recomment this; it's just a point of historical interest.
+                               (Scott Adams - The Dilbert principle)
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
diff --git a/6.3.029 b/6.3.029
new file mode 100644 (file)
index 0000000..cbbd675
--- /dev/null
+++ b/6.3.029
@@ -0,0 +1,77 @@
+To: vim-dev@vim.org
+Subject: Patch 6.3.029
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.3.029
+Problem:    Crash when inserting a line break. (Walter Briscoe)
+Solution:   In the syntax highlighting code, don't use an old state after a
+           change was made, current_col may be past the end of the line.
+Files:     src/syntax.c
+
+
+*** ../vim-6.3.028/src/syntax.c        Mon Sep 13 16:36:12 2004
+--- src/syntax.c       Tue Oct  5 16:57:58 2004
+***************
+*** 437,453 ****
+      linenr_T parsed_lnum;
+      linenr_T first_stored;
+      int              dist;
+  
+      reg_syn = TRUE;  /* let vim_regexec() know we're using syntax */
+  
+      /*
+       * After switching buffers, invalidate current_state.
+       */
+!     if (syn_buf != wp->w_buffer)
+      {
+       invalidate_current_state();
+       syn_buf = wp->w_buffer;
+      }
+      syn_win = wp;
+  
+      /*
+--- 437,457 ----
+      linenr_T parsed_lnum;
+      linenr_T first_stored;
+      int              dist;
++     static int       changedtick = 0;        /* remember the last change ID */
+  
+      reg_syn = TRUE;  /* let vim_regexec() know we're using syntax */
+  
+      /*
+       * After switching buffers, invalidate current_state.
++      * Also do this when a change was made, the current state may be invalid
++      * then.
+       */
+!     if (syn_buf != wp->w_buffer || changedtick != syn_buf->b_changedtick)
+      {
+       invalidate_current_state();
+       syn_buf = wp->w_buffer;
+      }
++     changedtick = syn_buf->b_changedtick;
+      syn_win = wp;
+  
+      /*
+*** ../vim-6.3.028/src/version.c       Sat Sep 18 21:13:25 2004
+--- src/version.c      Tue Oct  5 17:01:10 2004
+***************
+*** 643,644 ****
+--- 643,646 ----
+  {   /* Add new patch number below this line */
++ /**/
++     29,
+  /**/
+
+-- 
+From "know your smileys":
+ :-H   Is missing teeth
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
+ \\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///
This page took 0.101143 seconds and 4 git commands to generate.