]> git.pld-linux.org Git - packages/vim.git/commitdiff
- new
authorAdam Gołębiowski <adamg@pld-linux.org>
Mon, 12 Mar 2007 01:09:52 +0000 (01:09 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    7.0.189 -> 1.1
    7.0.190 -> 1.1
    7.0.191 -> 1.1
    7.0.192 -> 1.1
    7.0.193 -> 1.1
    7.0.194 -> 1.1
    7.0.195 -> 1.1
    7.0.196 -> 1.1
    7.0.199 -> 1.1
    7.0.200 -> 1.1
    7.0.201 -> 1.1
    7.0.202 -> 1.1
    7.0.203 -> 1.1
    7.0.204 -> 1.1
    7.0.205 -> 1.1
    7.0.206 -> 1.1
    7.0.207 -> 1.1
    7.0.208 -> 1.1
    7.0.209 -> 1.1
    7.0.210 -> 1.1
    7.0.211 -> 1.1
    7.0.212 -> 1.1
    7.0.213 -> 1.1
    7.0.214 -> 1.1
    7.0.216 -> 1.1

25 files changed:
7.0.189 [new file with mode: 0644]
7.0.190 [new file with mode: 0644]
7.0.191 [new file with mode: 0644]
7.0.192 [new file with mode: 0644]
7.0.193 [new file with mode: 0644]
7.0.194 [new file with mode: 0644]
7.0.195 [new file with mode: 0644]
7.0.196 [new file with mode: 0644]
7.0.199 [new file with mode: 0644]
7.0.200 [new file with mode: 0644]
7.0.201 [new file with mode: 0644]
7.0.202 [new file with mode: 0644]
7.0.203 [new file with mode: 0644]
7.0.204 [new file with mode: 0644]
7.0.205 [new file with mode: 0644]
7.0.206 [new file with mode: 0644]
7.0.207 [new file with mode: 0644]
7.0.208 [new file with mode: 0644]
7.0.209 [new file with mode: 0644]
7.0.210 [new file with mode: 0644]
7.0.211 [new file with mode: 0644]
7.0.212 [new file with mode: 0644]
7.0.213 [new file with mode: 0644]
7.0.214 [new file with mode: 0644]
7.0.216 [new file with mode: 0644]

diff --git a/7.0.189 b/7.0.189
new file mode 100644 (file)
index 0000000..21e57e0
--- /dev/null
+++ b/7.0.189
@@ -0,0 +1,72 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.189
+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 7.0.189
+Problem:    Translated message about finding matches is truncated.  (Yukihiro
+            Nakadaira)
+Solution:   Enlarge the buffer.  Also use vim_snprintf().
+Files:      src/edit.c
+
+
+*** ../vim-7.0.188/src/edit.c  Wed Nov  1 21:24:58 2006
+--- src/edit.c Fri Jan 19 20:22:09 2007
+***************
+*** 4970,4985 ****
+            * just a safety check. */
+           if (compl_curr_match->cp_number != -1)
+           {
+!              /* Space for 10 text chars. + 2x10-digit no.s */
+!              static char_u match_ref[31];
+  
+               if (compl_matches > 0)
+!                  sprintf((char *)IObuff, _("match %d of %d"),
+                               compl_curr_match->cp_number, compl_matches);
+               else
+!                  sprintf((char *)IObuff, _("match %d"),
+!                                               compl_curr_match->cp_number);
+!              vim_strncpy(match_ref, IObuff, 30);
+               edit_submode_extra = match_ref;
+               edit_submode_highl = HLF_R;
+               if (dollar_vcol)
+--- 4970,4987 ----
+            * just a safety check. */
+           if (compl_curr_match->cp_number != -1)
+           {
+!              /* Space for 10 text chars. + 2x10-digit no.s = 31.
+!               * Translations may need more than twice that. */
+!              static char_u match_ref[81];
+  
+               if (compl_matches > 0)
+!                  vim_snprintf((char *)match_ref, sizeof(match_ref),
+!                              _("match %d of %d"),
+                               compl_curr_match->cp_number, compl_matches);
+               else
+!                  vim_snprintf((char *)match_ref, sizeof(match_ref),
+!                              _("match %d"),
+!                              compl_curr_match->cp_number);
+               edit_submode_extra = match_ref;
+               edit_submode_highl = HLF_R;
+               if (dollar_vcol)
+*** ../vim-7.0.188/src/version.c       Tue Jan 16 22:13:53 2007
+--- src/version.c      Sun Feb  4 02:35:43 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     189,
+  /**/
+
+-- 
+How many light bulbs does it take to change a person?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.190 b/7.0.190
new file mode 100644 (file)
index 0000000..bbfe711
--- /dev/null
+++ b/7.0.190
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.190
+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 7.0.190
+Problem:    "syntax spell default" results in an error message.
+Solution:   Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado)
+Files:      src/syntax.c
+    
+
+*** ../vim-7.0.189/src/syntax.c        Wed Nov  1 12:43:07 2006
+--- src/syntax.c       Sun Jan 21 13:12:19 2007
+***************
+*** 3206,3212 ****
+       curbuf->b_syn_spell = SYNSPL_TOP;
+      else if (STRNICMP(arg, "notoplevel", 10) == 0 && next - arg == 10)
+       curbuf->b_syn_spell = SYNSPL_NOTOP;
+!     else if (STRNICMP(arg, "default", 4) == 0 && next - arg == 4)
+       curbuf->b_syn_spell = SYNSPL_DEFAULT;
+      else
+       EMSG2(_("E390: Illegal argument: %s"), arg);
+--- 3206,3212 ----
+       curbuf->b_syn_spell = SYNSPL_TOP;
+      else if (STRNICMP(arg, "notoplevel", 10) == 0 && next - arg == 10)
+       curbuf->b_syn_spell = SYNSPL_NOTOP;
+!     else if (STRNICMP(arg, "default", 7) == 0 && next - arg == 7)
+       curbuf->b_syn_spell = SYNSPL_DEFAULT;
+      else
+       EMSG2(_("E390: Illegal argument: %s"), arg);
+*** ../vim-7.0.189/src/version.c       Sun Feb  4 02:37:40 2007
+--- src/version.c      Sun Feb  4 02:40:23 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     190,
+  /**/
+
+-- 
+From "know your smileys":
+ :-)-O Smiling doctor with stethoscope
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.191 b/7.0.191
new file mode 100644 (file)
index 0000000..28c6a01
--- /dev/null
+++ b/7.0.191
@@ -0,0 +1,330 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.191
+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 7.0.191 
+Problem:    The items used by getqflist() and setqflist() don't match.
+Solution:   Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan)
+Files:      runtime/doc/eval.txt, src/quickfix.c
+
+
+*** ../vim-7.0.190/runtime/doc/eval.txt        Wed Nov  1 15:31:02 2006
+--- runtime/doc/eval.txt       Sun Feb  4 01:54:35 2007
+***************
+*** 2897,2908 ****
+                       vcol    non-zero: "col" is visual column
+                               zero: "col" is byte index
+                       nr      error number
+                       text    description of the error
+                       type    type of the error, 'E', '1', etc.
+                       valid   non-zero: recognized error message
+  
+               When there is no error list or it's empty an empty list is
+!              returned.
+  
+               Useful application: Find pattern matches in multiple files and
+               do something with them: >
+--- 2912,2925 ----
+                       vcol    non-zero: "col" is visual column
+                               zero: "col" is byte index
+                       nr      error number
++                      pattern search pattern used to locate the error
+                       text    description of the error
+                       type    type of the error, 'E', '1', etc.
+                       valid   non-zero: recognized error message
+  
+               When there is no error list or it's empty an empty list is
+!              returned. Quickfix list entries with non-existing buffer
+!              number are returned with "bufnr" set to zero.
+  
+               Useful application: Find pattern matches in multiple files and
+               do something with them: >
+***************
+*** 4371,4377 ****
+               Non-dictionary items in {list} are ignored.  Each dictionary
+               item can contain the following entries:
+  
+!                  filename    name of a file
+                   lnum        line number in the file
+                   pattern     search pattern used to locate the error
+                   col         column number
+--- 4401,4410 ----
+               Non-dictionary items in {list} are ignored.  Each dictionary
+               item can contain the following entries:
+  
+!                  bufnr       buffer number; must be the number of a valid
+!                              buffer
+!                  filename    name of a file; only used when "bufnr" is not
+!                              present or it is invalid.
+                   lnum        line number in the file
+                   pattern     search pattern used to locate the error
+                   col         column number
+***************
+*** 4384,4394 ****
+               The "col", "vcol", "nr", "type" and "text" entries are
+               optional.  Either "lnum" or "pattern" entry can be used to
+               locate a matching error line.
+!              If the "filename" entry is not present or neither the "lnum"
+!              or "pattern" entries are present, then the item will not be
+!              handled as an error line.
+               If both "pattern" and "lnum" are present then "pattern" will
+               be used.
+  
+               If {action} is set to 'a', then the items from {list} are
+               added to the existing quickfix list. If there is no existing
+--- 4417,4429 ----
+               The "col", "vcol", "nr", "type" and "text" entries are
+               optional.  Either "lnum" or "pattern" entry can be used to
+               locate a matching error line.
+!              If the "filename" and "bufnr" entries are not present or
+!              neither the "lnum" or "pattern" entries are present, then the
+!              item will not be handled as an error line.
+               If both "pattern" and "lnum" are present then "pattern" will
+               be used.
++              Note that the list is not exactly the same as what
++              |getqflist()| returns.
+  
+               If {action} is set to 'a', then the items from {list} are
+               added to the existing quickfix list. If there is no existing
+*** ../vim-7.0.190/src/quickfix.c      Fri Oct 20 20:15:05 2006
+--- src/quickfix.c     Sun Feb  4 01:50:17 2007
+***************
+*** 106,112 ****
+  
+  static int   qf_init_ext __ARGS((qf_info_T *qi, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast));
+  static void  qf_new_list __ARGS((qf_info_T *qi));
+! static int   qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid));
+  static void  qf_msg __ARGS((qf_info_T *qi));
+  static void  qf_free __ARGS((qf_info_T *qi, int idx));
+  static char_u        *qf_types __ARGS((int, int));
+--- 106,112 ----
+  
+  static int   qf_init_ext __ARGS((qf_info_T *qi, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast));
+  static void  qf_new_list __ARGS((qf_info_T *qi));
+! static int   qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid));
+  static void  qf_msg __ARGS((qf_info_T *qi));
+  static void  qf_free __ARGS((qf_info_T *qi, int idx));
+  static char_u        *qf_types __ARGS((int, int));
+***************
+*** 791,796 ****
+--- 791,797 ----
+                       (*namebuf || directory)
+                           ? namebuf
+                           : ((currfile && valid) ? currfile : (char_u *)NULL),
++                      0,
+                       errmsg,
+                       lnum,
+                       col,
+***************
+*** 936,947 ****
+   * Returns OK or FAIL.
+   */
+      static int
+! qf_add_entry(qi, prevp, dir, fname, mesg, lnum, col, vis_col, pattern, nr, type,
+!           valid)
+      qf_info_T        *qi;            /* quickfix list */
+      qfline_T **prevp;        /* pointer to previously added entry or NULL */
+      char_u   *dir;           /* optional directory name */
+      char_u   *fname;         /* file name or NULL */
+      char_u   *mesg;          /* message */
+      long     lnum;           /* line number */
+      int              col;            /* column */
+--- 937,949 ----
+   * Returns OK or FAIL.
+   */
+      static int
+! qf_add_entry(qi, prevp, dir, fname, bufnum, mesg, lnum, col, vis_col, pattern,
+!           nr, type, valid)
+      qf_info_T        *qi;            /* quickfix list */
+      qfline_T **prevp;        /* pointer to previously added entry or NULL */
+      char_u   *dir;           /* optional directory name */
+      char_u   *fname;         /* file name or NULL */
++     int              bufnum;         /* buffer number or zero */
+      char_u   *mesg;          /* message */
+      long     lnum;           /* line number */
+      int              col;            /* column */
+***************
+*** 955,961 ****
+  
+      if ((qfp = (qfline_T *)alloc((unsigned)sizeof(qfline_T))) == NULL)
+       return FAIL;
+!     qfp->qf_fnum = qf_get_fnum(dir, fname);
+      if ((qfp->qf_text = vim_strsave(mesg)) == NULL)
+      {
+       vim_free(qfp);
+--- 957,966 ----
+  
+      if ((qfp = (qfline_T *)alloc((unsigned)sizeof(qfline_T))) == NULL)
+       return FAIL;
+!     if (bufnum != 0)
+!      qfp->qf_fnum = bufnum;
+!     else
+!      qfp->qf_fnum = qf_get_fnum(dir, fname);
+      if ((qfp->qf_text = vim_strsave(mesg)) == NULL)
+      {
+       vim_free(qfp);
+***************
+*** 1106,1111 ****
+--- 1111,1117 ----
+               if (qf_add_entry(to->w_llist, &prevp,
+                                NULL,
+                                NULL,
++                               0,
+                                from_qfp->qf_text,
+                                from_qfp->qf_lnum,
+                                from_qfp->qf_col,
+***************
+*** 3134,3139 ****
+--- 3140,3146 ----
+                   if (qf_add_entry(qi, &prevp,
+                               NULL,       /* dir */
+                               fnames[fi],
++                              0,
+                               ml_get_buf(buf,
+                                    regmatch.startpos[0].lnum + lnum, FALSE),
+                               regmatch.startpos[0].lnum + lnum,
+***************
+*** 3419,3424 ****
+--- 3426,3432 ----
+      char_u   buf[2];
+      qfline_T *qfp;
+      int              i;
++     int              bufnum;
+  
+      if (wp != NULL)
+      {
+***************
+*** 3434,3439 ****
+--- 3442,3452 ----
+      qfp = qi->qf_lists[qi->qf_curlist].qf_start;
+      for (i = 1; !got_int && i <= qi->qf_lists[qi->qf_curlist].qf_count; ++i)
+      {
++      /* Handle entries with a non-existing buffer number. */
++      bufnum = qfp->qf_fnum;
++      if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
++          bufnum = 0;
++ 
+       if ((dict = dict_alloc()) == NULL)
+           return FAIL;
+       if (list_append_dict(list, dict) == FAIL)
+***************
+*** 3441,3447 ****
+  
+       buf[0] = qfp->qf_type;
+       buf[1] = NUL;
+!      if ( dict_add_nr_str(dict, "bufnr", (long)qfp->qf_fnum, NULL) == FAIL
+         || dict_add_nr_str(dict, "lnum",  (long)qfp->qf_lnum, NULL) == FAIL
+         || dict_add_nr_str(dict, "col",   (long)qfp->qf_col, NULL) == FAIL
+         || dict_add_nr_str(dict, "vcol",  (long)qfp->qf_viscol, NULL) == FAIL
+--- 3454,3460 ----
+  
+       buf[0] = qfp->qf_type;
+       buf[1] = NUL;
+!      if ( dict_add_nr_str(dict, "bufnr", (long)bufnum, NULL) == FAIL
+         || dict_add_nr_str(dict, "lnum",  (long)qfp->qf_lnum, NULL) == FAIL
+         || dict_add_nr_str(dict, "col",   (long)qfp->qf_col, NULL) == FAIL
+         || dict_add_nr_str(dict, "vcol",  (long)qfp->qf_viscol, NULL) == FAIL
+***************
+*** 3472,3477 ****
+--- 3485,3491 ----
+      listitem_T       *li;
+      dict_T   *d;
+      char_u   *filename, *pattern, *text, *type;
++     int              bufnum;
+      long     lnum;
+      int              col, nr;
+      int              vcol;
+***************
+*** 3479,3484 ****
+--- 3493,3499 ----
+      int              valid, status;
+      int              retval = OK;
+      qf_info_T        *qi = &ql_info;
++     int              did_bufnr_emsg = FALSE;
+  
+      if (wp != NULL)
+      {
+***************
+*** 3508,3513 ****
+--- 3523,3529 ----
+           continue;
+  
+       filename = get_dict_string(d, (char_u *)"filename", TRUE);
++      bufnum = get_dict_number(d, (char_u *)"bufnr");
+       lnum = get_dict_number(d, (char_u *)"lnum");
+       col = get_dict_number(d, (char_u *)"col");
+       vcol = get_dict_number(d, (char_u *)"vcol");
+***************
+*** 3519,3530 ****
+           text = vim_strsave((char_u *)"");
+  
+       valid = TRUE;
+!      if (filename == NULL || (lnum == 0 && pattern == NULL))
+           valid = FALSE;
+  
+       status =  qf_add_entry(qi, &prevp,
+                              NULL,        /* dir */
+                              filename,
+                              text,
+                              lnum,
+                              col,
+--- 3535,3560 ----
+           text = vim_strsave((char_u *)"");
+  
+       valid = TRUE;
+!      if ((filename == NULL && bufnum == 0) || (lnum == 0 && pattern == NULL))
+           valid = FALSE;
+  
++      /* Mark entries with non-existing buffer number as not valid. Give the
++       * error message only once. */
++      if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
++      {
++          if (!did_bufnr_emsg)
++          {
++              did_bufnr_emsg = TRUE;
++              EMSGN(_("E92: Buffer %ld not found"), bufnum);
++          }
++          valid = FALSE;
++          bufnum = 0;
++      }
++ 
+       status =  qf_add_entry(qi, &prevp,
+                              NULL,        /* dir */
+                              filename,
++                             bufnum,
+                              text,
+                              lnum,
+                              col,
+***************
+*** 3757,3762 ****
+--- 3787,3793 ----
+                               if (qf_add_entry(qi, &prevp,
+                                           NULL,       /* dir */
+                                           fnames[fi],
++                                          0,
+                                           IObuff,
+                                           lnum,
+                                           (int)(regmatch.startp[0] - IObuff)
+*** ../vim-7.0.190/src/version.c       Sun Feb  4 02:49:03 2007
+--- src/version.c      Sun Feb  4 02:50:49 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     191,
+  /**/
+
+-- 
+From "know your smileys":
+ |-P   Reaction to unusually ugly C code
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.192 b/7.0.192
new file mode 100644 (file)
index 0000000..de0b001
--- /dev/null
+++ b/7.0.192
@@ -0,0 +1,158 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.192
+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 7.0.192
+Problem:    When 'swapfile' is switched off in an empty file it is possible
+            that not all blocks are loaded into memory, causing ml_get errors
+            later.
+Solution:   Rename "dont_release" to "mf_dont_release" and also use it to
+            avoid using the cached line and locked block. 
+Files:      src/globals.h, src/memfile.c, src/memline.c
+
+
+*** ../vim-7.0.191/src/globals.h       Tue Jan  9 15:15:36 2007
+--- src/globals.h      Wed Feb  7 03:29:52 2007
+***************
+*** 554,559 ****
+--- 554,563 ----
+  EXTERN buf_T *firstbuf INIT(= NULL); /* first buffer */
+  EXTERN buf_T *lastbuf INIT(= NULL);  /* last buffer */
+  EXTERN buf_T *curbuf INIT(= NULL);   /* currently active buffer */
++ 
++ /* Flag that is set when switching off 'swapfile'.  It means that all blocks
++  * are to be loaded into memory.  Shouldn't be global... */
++ EXTERN int   mf_dont_release INIT(= FALSE);  /* don't release blocks */
+  
+  /*
+   * List of files being edited (global argument list).  curwin->w_alist points
+*** ../vim-7.0.191/src/memfile.c       Tue Nov  7 18:02:19 2006
+--- src/memfile.c      Wed Feb  7 03:22:11 2007
+***************
+*** 76,82 ****
+  #define MEMFILE_PAGE_SIZE 4096               /* default page size */
+  
+  static long_u        total_mem_used = 0;     /* total memory used for memfiles */
+- static int   dont_release = FALSE;   /* don't release blocks */
+  
+  static void mf_ins_hash __ARGS((memfile_T *, bhdr_T *));
+  static void mf_rem_hash __ARGS((memfile_T *, bhdr_T *));
+--- 76,81 ----
+***************
+*** 279,288 ****
+      if (getlines)
+      {
+       /* get all blocks in memory by accessing all lines (clumsy!) */
+!      dont_release = TRUE;
+       for (lnum = 1; lnum <= buf->b_ml.ml_line_count; ++lnum)
+           (void)ml_get_buf(buf, lnum, FALSE);
+!      dont_release = FALSE;
+       /* TODO: should check if all blocks are really in core */
+      }
+  
+--- 278,287 ----
+      if (getlines)
+      {
+       /* get all blocks in memory by accessing all lines (clumsy!) */
+!      mf_dont_release = TRUE;
+       for (lnum = 1; lnum <= buf->b_ml.ml_line_count; ++lnum)
+           (void)ml_get_buf(buf, lnum, FALSE);
+!      mf_dont_release = FALSE;
+       /* TODO: should check if all blocks are really in core */
+      }
+  
+***************
+*** 830,836 ****
+      buf_T    *buf;
+  
+      /* don't release while in mf_close_file() */
+!     if (dont_release)
+       return NULL;
+  
+      /*
+--- 829,835 ----
+      buf_T    *buf;
+  
+      /* don't release while in mf_close_file() */
+!     if (mf_dont_release)
+       return NULL;
+  
+      /*
+*** ../vim-7.0.191/src/memline.c       Tue Jan  9 15:15:36 2007
+--- src/memline.c      Wed Feb  7 03:29:31 2007
+***************
+*** 2074,2081 ****
+  /*
+   * See if it is the same line as requested last time.
+   * Otherwise may need to flush last used line.
+   */
+!     if (buf->b_ml.ml_line_lnum != lnum)
+      {
+       ml_flush_line(buf);
+  
+--- 2074,2083 ----
+  /*
+   * See if it is the same line as requested last time.
+   * Otherwise may need to flush last used line.
++  * Don't use the last used line when 'swapfile' is reset, need to load all
++  * blocks.
+   */
+!     if (buf->b_ml.ml_line_lnum != lnum || mf_dont_release)
+      {
+       ml_flush_line(buf);
+  
+***************
+*** 3200,3212 ****
+       * If not, flush and release the locked block.
+       * Don't do this for ML_INSERT_SAME, because the stack need to be updated.
+       * Don't do this for ML_FLUSH, because we want to flush the locked block.
+       */
+      if (buf->b_ml.ml_locked)
+      {
+!      if (ML_SIMPLE(action) && buf->b_ml.ml_locked_low <= lnum
+!                                        && buf->b_ml.ml_locked_high >= lnum)
+       {
+!              /* remember to update pointer blocks and stack later */
+           if (action == ML_INSERT)
+           {
+               ++(buf->b_ml.ml_locked_lineadd);
+--- 3202,3217 ----
+       * If not, flush and release the locked block.
+       * Don't do this for ML_INSERT_SAME, because the stack need to be updated.
+       * Don't do this for ML_FLUSH, because we want to flush the locked block.
++      * Don't do this when 'swapfile' is reset, we want to load all the blocks.
+       */
+      if (buf->b_ml.ml_locked)
+      {
+!      if (ML_SIMPLE(action)
+!              && buf->b_ml.ml_locked_low <= lnum
+!              && buf->b_ml.ml_locked_high >= lnum
+!              && !mf_dont_release)
+       {
+!          /* remember to update pointer blocks and stack later */
+           if (action == ML_INSERT)
+           {
+               ++(buf->b_ml.ml_locked_lineadd);
+*** ../vim-7.0.191/src/version.c       Sun Feb  4 02:59:04 2007
+--- src/version.c      Wed Feb  7 03:40:28 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     192,
+  /**/
+
+-- 
+From "know your smileys":
+ %-)   After staring at screen for 15 hours
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.193 b/7.0.193
new file mode 100644 (file)
index 0000000..bcf4d0f
--- /dev/null
+++ b/7.0.193
@@ -0,0 +1,53 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.193
+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 7.0.193
+Problem:    Using --remote or --remote-tab with an argument that matches
+            'wildignore' causes a crash.
+Solution:   Check the argument count before using ARGLIST[0].
+Files:      src/ex_cmds.c
+
+
+*** ../vim-7.0.192/src/ex_cmds.c       Tue Sep  5 18:28:45 2006
+--- src/ex_cmds.c      Tue Feb 13 03:47:52 2007
+***************
+*** 6967,6972 ****
+--- 6967,6980 ----
+       */
+      set_arglist(eap->arg);
+  
++     /*
++      * Expanding wildcards may result in an empty argument list.  E.g. when
++      * editing "foo.pyc" and ".pyc" is in 'wildignore'.  Assume that we
++      * already did an error message for this.
++      */
++     if (ARGCOUNT == 0)
++      return;
++ 
+  # ifdef FEAT_WINDOWS
+      if (cmdmod.tab)
+      {
+*** ../vim-7.0.192/src/version.c       Wed Feb  7 03:42:37 2007
+--- src/version.c      Tue Feb 13 03:47:08 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     193,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+113. You are asked about a bus schedule, you wonder if it is 16 or 32 bits.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.194 b/7.0.194
new file mode 100644 (file)
index 0000000..66fac55
--- /dev/null
+++ b/7.0.194
@@ -0,0 +1,97 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.194
+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 7.0.194
+Problem:    Once an ml_get error is given redrawing part of the screen may
+            cause it again, resulting in an endless loop.
+Solution:   Don't give the error message for a recursive call.
+Files:      src/memline.c
+
+
+*** ../vim-7.0.193/src/memline.c       Wed Feb  7 03:42:37 2007
+--- src/memline.c      Tue Feb 13 03:56:00 2007
+***************
+*** 2054,2066 ****
+      linenr_T lnum;
+      int              will_change;            /* line will be changed */
+  {
+!     bhdr_T    *hp;
+!     DATA_BL *dp;
+!     char_u  *ptr;
+  
+      if (lnum > buf->b_ml.ml_line_count)      /* invalid line number */
+      {
+!      EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum);
+  errorret:
+       STRCPY(IObuff, "???");
+       return IObuff;
+--- 2054,2074 ----
+      linenr_T lnum;
+      int              will_change;            /* line will be changed */
+  {
+!     bhdr_T   *hp;
+!     DATA_BL  *dp;
+!     char_u   *ptr;
+!     static int       recursive = 0;
+  
+      if (lnum > buf->b_ml.ml_line_count)      /* invalid line number */
+      {
+!      if (recursive == 0)
+!      {
+!          /* Avoid giving this message for a recursive call, may happen when
+!           * the GUI redraws part of the text. */
+!          ++recursive;
+!          EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum);
+!          --recursive;
+!      }
+  errorret:
+       STRCPY(IObuff, "???");
+       return IObuff;
+***************
+*** 2088,2094 ****
+        */
+       if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL)
+       {
+!          EMSGN(_("E316: ml_get: cannot find line %ld"), lnum);
+           goto errorret;
+       }
+  
+--- 2096,2109 ----
+        */
+       if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL)
+       {
+!          if (recursive == 0)
+!          {
+!              /* Avoid giving this message for a recursive call, may happen
+!               * when the GUI redraws part of the text. */
+!              ++recursive;
+!              EMSGN(_("E316: ml_get: cannot find line %ld"), lnum);
+!              --recursive;
+!          }
+           goto errorret;
+       }
+  
+*** ../vim-7.0.193/src/version.c       Tue Feb 13 03:49:01 2007
+--- src/version.c      Tue Feb 13 03:59:22 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     194,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...".
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.195 b/7.0.195
new file mode 100644 (file)
index 0000000..471a369
--- /dev/null
+++ b/7.0.195
@@ -0,0 +1,89 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.195
+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 7.0.195
+Problem:    When a buffer is modified and 'autowriteall' is set, ":quit"
+            results in an endless loop when there is a conversion error while
+            writing. (Nikolai Weibull)
+Solution:   Make autowrite() return FAIL if the buffer is still changed after
+            writing it.
+Files:      src/ex_cmds2.c
+
+
+*** ../vim-7.0.194/src/ex_cmds2.c      Tue Jan 16 21:31:38 2007
+--- src/ex_cmds2.c     Tue Feb 13 06:11:28 2007
+***************
+*** 1242,1255 ****
+      buf_T    *buf;
+      int              forceit;
+  {
+      if (!(p_aw || p_awa) || !p_write
+  #ifdef FEAT_QUICKFIX
+!      /* never autowrite a "nofile" or "nowrite" buffer */
+!      || bt_dontwrite(buf)
+  #endif
+!      || (!forceit && buf->b_p_ro) || buf->b_ffname == NULL)
+       return FAIL;
+!     return buf_write_all(buf, forceit);
+  }
+  
+  /*
+--- 1242,1263 ----
+      buf_T    *buf;
+      int              forceit;
+  {
++     int              r;
++ 
+      if (!(p_aw || p_awa) || !p_write
+  #ifdef FEAT_QUICKFIX
+!          /* never autowrite a "nofile" or "nowrite" buffer */
+!          || bt_dontwrite(buf)
+  #endif
+!          || (!forceit && buf->b_p_ro) || buf->b_ffname == NULL)
+       return FAIL;
+!     r = buf_write_all(buf, forceit);
+! 
+!     /* Writing may succeed but the buffer still changed, e.g., when there is a
+!      * conversion error.  We do want to return FAIL then. */
+!     if (buf_valid(buf) && bufIsChanged(buf))
+!      r = FAIL;
+!     return r;
+  }
+  
+  /*
+***************
+*** 1472,1477 ****
+--- 1480,1487 ----
+       if (buf == NULL)    /* No buffers changed */
+           return FALSE;
+  
++      /* Try auto-writing the buffer.  If this fails but the buffer no
++       * longer exists it's not changed, that's OK. */
+       if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
+           break;          /* didn't save - still changes */
+      }
+*** ../vim-7.0.194/src/version.c       Tue Feb 13 04:03:05 2007
+--- src/version.c      Tue Feb 13 06:18:28 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     195,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+115. You are late picking up your kid from school and try to explain
+     to the teacher you were stuck in Web traffic.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.196 b/7.0.196
new file mode 100644 (file)
index 0000000..7c792ac
--- /dev/null
+++ b/7.0.196
@@ -0,0 +1,89 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.196
+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 7.0.196
+Problem:    When using ":vert ball" the computation of the mouse pointer
+           position may be off by one column. (Stefan Karlsson)
+Solution:   Recompute the frame width when moving the vertical separator from
+           one window to another.
+Files:     src/window.c
+
+
+*** ../vim-7.0.195/src/window.c        Tue Nov 21 20:57:21 2006
+--- src/window.c       Tue Feb 20 00:16:35 2007
+***************
+*** 1541,1548 ****
+           win1->w_prev->w_status_height = win1->w_status_height;
+           win1->w_status_height = height;
+  #ifdef FEAT_VERTSPLIT
+!          win1->w_prev->w_vsep_width = 0;
+!          win1->w_vsep_width = 1;
+  #endif
+       }
+       else if (win2 == lastwin)
+--- 1541,1555 ----
+           win1->w_prev->w_status_height = win1->w_status_height;
+           win1->w_status_height = height;
+  #ifdef FEAT_VERTSPLIT
+!          if (win1->w_prev->w_vsep_width == 1)
+!          {
+!              /* Remove the vertical separator from the last-but-one window,
+!               * add it to the last window.  Adjust the frame widths. */
+!              win1->w_prev->w_vsep_width = 0;
+!              win1->w_prev->w_frame->fr_width -= 1;
+!              win1->w_vsep_width = 1;
+!              win1->w_frame->fr_width += 1;
+!          }
+  #endif
+       }
+       else if (win2 == lastwin)
+***************
+*** 1551,1558 ****
+           win1->w_status_height = win2->w_status_height;
+           win2->w_status_height = height;
+  #ifdef FEAT_VERTSPLIT
+!          win2->w_vsep_width = 1;
+!          win1->w_vsep_width = 0;
+  #endif
+       }
+       win_remove(win1, NULL);
+--- 1558,1572 ----
+           win1->w_status_height = win2->w_status_height;
+           win2->w_status_height = height;
+  #ifdef FEAT_VERTSPLIT
+!          if (win1->w_vsep_width == 1)
+!          {
+!              /* Remove the vertical separator from win1, add it to the last
+!               * window, win2.  Adjust the frame widths. */
+!              win2->w_vsep_width = 1;
+!              win2->w_frame->fr_width += 1;
+!              win1->w_vsep_width = 0;
+!              win1->w_frame->fr_width -= 1;
+!          }
+  #endif
+       }
+       win_remove(win1, NULL);
+*** ../vim-7.0.195/src/version.c       Tue Feb 13 06:21:24 2007
+--- src/version.c      Tue Feb 20 00:14:00 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     196,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+150. You find yourself counting emoticons to get to sleep.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.199 b/7.0.199
new file mode 100644 (file)
index 0000000..16977da
--- /dev/null
+++ b/7.0.199
@@ -0,0 +1,67 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.199
+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 7.0.199
+Problem:    When using multi-byte characters the combination of completion and
+            formatting may result in a wrong cursor position.
+Solution:   Don't decrement the cursor column, use dec_cursor(). (Yukihiro
+            Nakadaira)  Also check for the column to be zero.
+Files:      src/edit.c
+
+
+*** ../vim-7.0.198/src/edit.c  Sun Feb  4 02:37:40 2007
+--- src/edit.c Fri Feb 16 01:15:49 2007
+***************
+*** 3448,3458 ****
+           }
+           else
+           {
+               /* put the cursor on the last char, for 'tw' formatting */
+!              curwin->w_cursor.col--;
+               if (stop_arrow() == OK)
+                   insertchar(NUL, 0, -1);
+!              curwin->w_cursor.col++;
+           }
+  
+           auto_format(FALSE, TRUE);
+--- 3449,3464 ----
+           }
+           else
+           {
++              int prev_col = curwin->w_cursor.col;
++ 
+               /* put the cursor on the last char, for 'tw' formatting */
+!              if (prev_col > 0)
+!                  dec_cursor();
+               if (stop_arrow() == OK)
+                   insertchar(NUL, 0, -1);
+!              if (prev_col > 0
+!                           && ml_get_curline()[curwin->w_cursor.col] != NUL)
+!                  inc_cursor();
+           }
+  
+           auto_format(FALSE, TRUE);
+*** ../vim-7.0.198/src/version.c       Tue Feb 20 03:18:20 2007
+--- src/version.c      Tue Feb 20 03:32:12 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     199,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+156. You forget your friend's name but not her e-mail address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.200 b/7.0.200
new file mode 100644 (file)
index 0000000..d48d587
--- /dev/null
+++ b/7.0.200
@@ -0,0 +1,100 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.200
+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 7.0.200
+Problem:    Memory leaks when out of memory.
+Solution:   Free the memory.
+Files:      src/edit.c, src/diff.c
+
+
+*** ../vim-7.0.199/src/edit.c  Tue Feb 20 03:33:51 2007
+--- src/edit.c Fri Feb 16 01:15:49 2007
+***************
+*** 2698,2703 ****
+--- 2698,2704 ----
+      buf = alloc(LSIZE);
+      if (buf == NULL)
+       return;
++     regmatch.regprog = NULL; /* so that we can goto theend */
+  
+      /* If 'infercase' is set, don't use 'smartcase' here */
+      save_p_scs = p_scs;
+***************
+*** 2712,2724 ****
+       char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\");
+  
+       if (pat_esc == NULL)
+!          return ;
+       i = (int)STRLEN(pat_esc) + 10;
+       ptr = alloc(i);
+       if (ptr == NULL)
+       {
+           vim_free(pat_esc);
+!          return;
+       }
+       vim_snprintf((char *)ptr, i, "^\\s*\\zs\\V%s", pat_esc);
+       regmatch.regprog = vim_regcomp(ptr, RE_MAGIC);
+--- 2713,2725 ----
+       char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\");
+  
+       if (pat_esc == NULL)
+!          goto theend ;
+       i = (int)STRLEN(pat_esc) + 10;
+       ptr = alloc(i);
+       if (ptr == NULL)
+       {
+           vim_free(pat_esc);
+!          goto theend;
+       }
+       vim_snprintf((char *)ptr, i, "^\\s*\\zs\\V%s", pat_esc);
+       regmatch.regprog = vim_regcomp(ptr, RE_MAGIC);
+*** ../vim-7.0.199/src/diff.c  Sun Apr 23 00:23:34 2006
+--- src/diff.c Fri Feb 16 01:18:41 2007
+***************
+*** 1822,1835 ****
+--- 1822,1841 ----
+  
+      idx = diff_buf_idx(wp->w_buffer);
+      if (idx == DB_COUNT)     /* cannot happen */
++     {
++      vim_free(line_org);
+       return FALSE;
++     }
+  
+      /* search for a change that includes "lnum" in the list of diffblocks. */
+      for (dp = curtab->tp_first_diff; dp != NULL; dp = dp->df_next)
+       if (lnum <= dp->df_lnum[idx] + dp->df_count[idx])
+           break;
+      if (dp == NULL || diff_check_sanity(curtab, dp) == FAIL)
++     {
++      vim_free(line_org);
+       return FALSE;
++     }
+  
+      off = lnum - dp->df_lnum[idx];
+  
+*** ../vim-7.0.199/src/version.c       Tue Feb 20 03:33:51 2007
+--- src/version.c      Tue Feb 20 03:48:16 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     200,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+157. You fum through a magazine, you first check to see if it has a web
+     address.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.201 b/7.0.201
new file mode 100644 (file)
index 0000000..65533cf
--- /dev/null
+++ b/7.0.201
@@ -0,0 +1,81 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.201
+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 7.0.201
+Problem:    Message for ":diffput" about buffer not being in diff mode may be
+            wrong.
+Solution:   Check for buffer in diff mode but not modifiable.
+Files:      src/diff.c
+
+
+*** ../vim-7.0.200/src/diff.c  Tue Feb 20 03:52:04 2007
+--- src/diff.c Fri Feb 16 01:18:41 2007
+***************
+*** 2014,2019 ****
+--- 2014,2020 ----
+      int              start_skip, end_skip;
+      int              new_count;
+      int              buf_empty;
++     int              found_not_ma = FALSE;
+  
+      /* Find the current buffer in the list of diff buffers. */
+      idx_cur = diff_buf_idx(curbuf);
+***************
+*** 2028,2040 ****
+       /* No argument: Find the other buffer in the list of diff buffers. */
+       for (idx_other = 0; idx_other < DB_COUNT; ++idx_other)
+           if (curtab->tp_diffbuf[idx_other] != curbuf
+!                  && curtab->tp_diffbuf[idx_other] != NULL
+!                  && (eap->cmdidx != CMD_diffput
+!                                             || curtab->tp_diffbuf[idx_other]->b_p_ma))
+!              break;
+       if (idx_other == DB_COUNT)
+       {
+!          EMSG(_("E100: No other buffer in diff mode"));
+           return;
+       }
+  
+--- 2029,2047 ----
+       /* No argument: Find the other buffer in the list of diff buffers. */
+       for (idx_other = 0; idx_other < DB_COUNT; ++idx_other)
+           if (curtab->tp_diffbuf[idx_other] != curbuf
+!                  && curtab->tp_diffbuf[idx_other] != NULL)
+!          {
+!              if (eap->cmdidx != CMD_diffput
+!                                   || curtab->tp_diffbuf[idx_other]->b_p_ma)
+!                  break;
+!              found_not_ma = TRUE;
+!          }
+       if (idx_other == DB_COUNT)
+       {
+!          if (found_not_ma)
+!              EMSG(_("E793: No other buffer in diff mode is modifiable"));
+!          else
+!              EMSG(_("E100: No other buffer in diff mode"));
+           return;
+       }
+  
+*** ../vim-7.0.200/src/version.c       Tue Feb 20 03:52:04 2007
+--- src/version.c      Tue Feb 20 04:46:00 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     201,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+159. You get excited whenever discussing your hard drive.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.202 b/7.0.202
new file mode 100644 (file)
index 0000000..f873bff
--- /dev/null
+++ b/7.0.202
@@ -0,0 +1,320 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.202
+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 7.0.202
+Problem:    Problems on Tandem systems while compiling and at runtime.
+Solution:   Recognize root uid is 65535.  Check select() return value for it
+           not being supported.  Avoid wrong function prototypes.  Mention
+           use of -lfloss.  (Matthew Woehlke)
+Files:     src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c,
+           src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c,
+           src/vim.h
+
+
+*** ../vim-7.0.201/src/Makefile        Tue Feb 20 04:46:41 2007
+--- src/Makefile       Tue Feb 27 10:24:05 2007
+***************
+*** 201,206 ****
+--- 201,207 ----
+  #SunOS 4.1.x                      +X11 -GUI          5.1b (J) Bram Moolenaar
+  #SunOS 4.1.3_U1 (sun4c) gcc       +X11 +GUI Athena   5.0w (J) Darren Hiebert
+  #SUPER-UX 6.2 (NEC SX-4) cc       +X11R6 Motif,Athena4.6b (P) Lennart Schultz
++ #Tandem/NSK                                                  (c) Matthew Woehlke
+  #Unisys 6035       cc             +X11 Motif         5.3  (8) Glauber Ribeiro
+  #ESIX V4.2         cc             +X11               6.0  (a) Reinhard Wobst
+  #Mac OS X 10.[23]     gcc         Carbon             6.2  (x) Bram Moolenaar
+***************
+*** 251,256 ****
+--- 252,258 ----
+  # (a)  See line with EXTRA_LIBS below.
+  # (b)  When using gcc with the Solaris linker, make sure you don't use GNU
+  #      strip, otherwise the binary may not run: "Cannot find ELF".
++ # (c)  Add -lfloss to EXTRA_LIBS, see below.
+  # (x)  When you get warnings for precompiled header files, run
+  #      "sudo fixPrecomps".  Also see CONF_OPT_DARWIN below.
+  # }}}
+***************
+*** 793,798 ****
+--- 796,804 ----
+  
+  ### (a)  ESIX V4.2 (Reinhard Wobst)
+  #EXTRA_LIBS = -lnsl -lsocket -lgen -lXIM -lXmu -lXext
++ 
++ ### (c)  Tandem/NSK (Matthew Woehlke)
++ #EXTRA_LIBS = -lfloss
+  
+  ### If you want to use ncurses library instead of the automatically found one
+  ### after changing this, you need to do "make reconfig".
+*** ../vim-7.0.201/src/ex_cmds.c       Tue Feb 13 03:49:01 2007
+--- src/ex_cmds.c      Tue Feb 20 05:20:55 2007
+***************
+*** 1772,1778 ****
+        */
+       st_old.st_dev = st_old.st_ino = 0;
+       st_old.st_mode = 0600;
+!      if (mch_stat((char *)fname, &st_old) == 0 && getuid()
+               && !(st_old.st_uid == getuid()
+                       ? (st_old.st_mode & 0200)
+                       : (st_old.st_gid == getgid()
+--- 1772,1779 ----
+        */
+       st_old.st_dev = st_old.st_ino = 0;
+       st_old.st_mode = 0600;
+!      if (mch_stat((char *)fname, &st_old) == 0
+!              && getuid() != ROOT_UID
+               && !(st_old.st_uid == getuid()
+                       ? (st_old.st_mode & 0200)
+                       : (st_old.st_gid == getgid()
+*** ../vim-7.0.201/src/fileio.c        Tue Jan 16 21:31:38 2007
+--- src/fileio.c       Wed Feb 21 06:04:39 2007
+***************
+*** 1122,1128 ****
+           if (!skip_read)
+           {
+  #if SIZEOF_INT > 2
+! # ifdef __TANDEM
+               size = SSIZE_MAX;                   /* use max I/O size, 52K */
+  # else
+               size = 0x10000L;                    /* use buffer >= 64K */
+--- 1122,1128 ----
+           if (!skip_read)
+           {
+  #if SIZEOF_INT > 2
+! # if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
+               size = SSIZE_MAX;                   /* use max I/O size, 52K */
+  # else
+               size = 0x10000L;                    /* use buffer >= 64K */
+*** ../vim-7.0.201/src/main.c  Tue Nov  7 22:41:37 2006
+--- src/main.c Tue Feb 20 05:22:33 2007
+***************
+*** 3280,3286 ****
+  #  ifdef FEAT_GUI
+               (gui.in_use
+  #   ifdef UNIX
+!               && getuid() != 0
+  #   endif
+               ) ||
+  #  endif
+--- 3280,3286 ----
+  #  ifdef FEAT_GUI
+               (gui.in_use
+  #   ifdef UNIX
+!               && getuid() != ROOT_UID
+  #   endif
+               ) ||
+  #  endif
+*** ../vim-7.0.201/src/osdef1.h.in     Sun Jun 13 21:14:18 2004
+--- src/osdef1.h.in    Tue Feb 20 05:13:23 2007
+***************
+*** 98,104 ****
+--- 98,106 ----
+  
+  #ifndef USE_SYSTEM
+  extern int   fork __ARGS((void));
++ # ifndef __TANDEM
+  extern int   execvp __ARGS((const char *, const char **));
++ # endif
+  extern int   wait __ARGS((int *)); /* will this break things ...? */
+  extern int   waitpid __ARGS((pid_t, int *, int));
+  #endif
+***************
+*** 123,132 ****
+  
+  extern int   kill __ARGS((int, int));
+  
+  extern int   access __ARGS((char *, int));
+  extern int   fsync __ARGS((int));
+  extern int   fchown __ARGS((int, int, int));
+! #if defined(HAVE_GETCWD) && !defined(sun)
+  extern char  *getcwd __ARGS((char *, int));
+  #else
+  extern char  *getwd __ARGS((char *));
+--- 125,136 ----
+  
+  extern int   kill __ARGS((int, int));
+  
++ #ifndef __TANDEM
+  extern int   access __ARGS((char *, int));
++ #endif
+  extern int   fsync __ARGS((int));
+  extern int   fchown __ARGS((int, int, int));
+! #if defined(HAVE_GETCWD) && !defined(sun) && !defined(__TANDEM)
+  extern char  *getcwd __ARGS((char *, int));
+  #else
+  extern char  *getwd __ARGS((char *));
+*** ../vim-7.0.201/src/osdef2.h.in     Sun Jun 13 17:19:40 2004
+--- src/osdef2.h.in    Tue Feb 20 05:14:50 2007
+***************
+*** 11,23 ****
+--- 11,29 ----
+  extern int   setenv __ARGS((char *, char *, int));
+  extern int   putenv __ARGS((const char *));
+  
++ #ifndef __TANDEM
+  extern int   gethostname __ARGS((char *, int));
++ #endif
+  extern void  perror __ARGS((char *));
+  
++ #ifndef __TANDEM
+  extern int   sleep __ARGS((int));
++ #endif
+  extern int   usleep __ARGS((unsigned int));
+  extern unsigned int  alarm __ARGS((unsigned int));
++ #ifndef __TANDEM
+  extern int   chdir __ARGS((char *));
++ #endif
+  extern int   fchdir __ARGS((int));
+  #ifndef stat /* could be redefined to stat64() */
+  extern int   stat __ARGS((const char *, struct stat *));
+***************
+*** 28,35 ****
+--- 34,43 ----
+  extern int   fstat __ARGS((int, struct stat *));
+  extern int   open __ARGS((const char *, int, ...));
+  extern int   close __ARGS((int));
++ #ifndef __TANDEM
+  extern int   read __ARGS((int, char *, size_t));
+  extern int   write __ARGS((int, char *, size_t));
++ #endif
+  extern int   pipe __ARGS((int *));
+  extern off_t lseek __ARGS((int, off_t, int));
+  extern void  sync __ARGS((void));
+*** ../vim-7.0.201/src/os_unix.c       Tue Jan  9 15:15:36 2007
+--- src/os_unix.c      Tue Feb 20 05:17:23 2007
+***************
+*** 25,31 ****
+   * Don't use it for the Mac, it causes a warning for precompiled headers.
+   * TODO: use a configure check for precompiled headers?
+   */
+! #ifndef __APPLE__
+  # define select select_declared_wrong
+  #endif
+  
+--- 25,31 ----
+   * Don't use it for the Mac, it causes a warning for precompiled headers.
+   * TODO: use a configure check for precompiled headers?
+   */
+! #if !defined(__APPLE__) && !defined(__TANDEM)
+  # define select select_declared_wrong
+  #endif
+  
+***************
+*** 48,56 ****
+  /*
+   * Use this prototype for select, some include files have a wrong prototype
+   */
+! #undef select
+! #ifdef __BEOS__
+! # define select      beos_select
+  #endif
+  
+  #if defined(HAVE_SELECT)
+--- 48,58 ----
+  /*
+   * Use this prototype for select, some include files have a wrong prototype
+   */
+! #ifndef __TANDEM
+! # undef select
+! # ifdef __BEOS__
+! #  define select     beos_select
+! # endif
+  #endif
+  
+  #if defined(HAVE_SELECT)
+***************
+*** 4770,4775 ****
+--- 4772,4785 ----
+  # else
+       ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
+  # endif
++ # ifdef __TANDEM
++      if (ret == -1 && errno == ENOTSUP)
++      {
++          FD_ZERO(&rfds);
++          FD_ZERO(&efds);
++          ret = 0;
++      }
++ #endif
+  # ifdef FEAT_MZSCHEME
+       if (ret == 0 && mzquantum_used)
+           /* loop if MzThreads must be scheduled and timeout occured */
+*** ../vim-7.0.201/src/pty.c   Wed Nov  1 18:12:46 2006
+--- src/pty.c  Tue Feb 20 05:21:22 2007
+***************
+*** 330,336 ****
+      if ((f = open("/dev/ptc", O_RDWR | O_NOCTTY | O_EXTRA)) < 0)
+       return -1;
+      strncpy(TtyName, ttyname(f), sizeof(TtyName));
+!     if (geteuid() && mch_access(TtyName, R_OK | W_OK))
+      {
+       close(f);
+       return -1;
+--- 330,336 ----
+      if ((f = open("/dev/ptc", O_RDWR | O_NOCTTY | O_EXTRA)) < 0)
+       return -1;
+      strncpy(TtyName, ttyname(f), sizeof(TtyName));
+!     if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
+      {
+       close(f);
+       return -1;
+***************
+*** 394,400 ****
+           q[0] = *l;
+           q[1] = *d;
+  #ifndef MACOS
+!          if (geteuid() && mch_access(TtyName, R_OK | W_OK))
+           {
+               close(f);
+               continue;
+--- 394,400 ----
+           q[0] = *l;
+           q[1] = *d;
+  #ifndef MACOS
+!          if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
+           {
+               close(f);
+               continue;
+*** ../vim-7.0.201/src/vim.h   Tue Jan 16 21:31:38 2007
+--- src/vim.h  Tue Feb 20 05:23:47 2007
+***************
+*** 50,55 ****
+--- 50,64 ----
+  # endif
+  #endif
+  
++ /* user ID of root is usually zero, but not for everybody */
++ #ifdef __TANDEM
++ # define _TANDEM_SOURCE
++ # include <floss.h>
++ # define ROOT_UID 65535
++ #else
++ # define ROOT_UID 0
++ #endif
++ 
+  #ifdef __EMX__               /* hand-edited config.h for OS/2 with EMX */
+  # include "os_os2_cfg.h"
+  #endif
+*** ../vim-7.0.201/src/version.c       Tue Feb 20 04:46:32 2007
+--- src/version.c      Tue Feb 27 16:44:14 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     202,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+214. Your MCI "Circle of Friends" are all Hayes-compatible.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.203 b/7.0.203
new file mode 100644 (file)
index 0000000..0bbcbb5
--- /dev/null
+++ b/7.0.203
@@ -0,0 +1,193 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.203
+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 7.0.203
+Problem:    0x80 characters in a register are not handled correctly for the
+           "@" command.
+Solution:   Escape CSI and 0x80 characters. (Yukihiro Nakadaira)
+Files:     src/ops.c
+
+
+*** ../vim-7.0.202/src/ops.c   Tue Nov  7 18:43:10 2006
+--- src/ops.c  Tue Feb 27 17:24:02 2007
+***************
+*** 96,102 ****
+  #endif
+  static int   stuff_yank __ARGS((int, char_u *));
+  static void  put_reedit_in_typebuf __ARGS((int silent));
+! static int   put_in_typebuf __ARGS((char_u *s, int colon, int silent));
+  static void  stuffescaped __ARGS((char_u *arg, int literally));
+  #ifdef FEAT_MBYTE
+  static void  mb_adjust_opend __ARGS((oparg_T *oap));
+--- 96,103 ----
+  #endif
+  static int   stuff_yank __ARGS((int, char_u *));
+  static void  put_reedit_in_typebuf __ARGS((int silent));
+! static int   put_in_typebuf __ARGS((char_u *s, int esc, int colon,
+!                                                               int silent));
+  static void  stuffescaped __ARGS((char_u *arg, int literally));
+  #ifdef FEAT_MBYTE
+  static void  mb_adjust_opend __ARGS((oparg_T *oap));
+***************
+*** 1174,1182 ****
+           /* When in Visual mode "'<,'>" will be prepended to the command.
+            * Remove it when it's already there. */
+           if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0)
+!              retval = put_in_typebuf(p + 5, TRUE, silent);
+           else
+!              retval = put_in_typebuf(p, TRUE, silent);
+       }
+       vim_free(p);
+      }
+--- 1175,1183 ----
+           /* When in Visual mode "'<,'>" will be prepended to the command.
+            * Remove it when it's already there. */
+           if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0)
+!              retval = put_in_typebuf(p + 5, TRUE, TRUE, silent);
+           else
+!              retval = put_in_typebuf(p, TRUE, TRUE, silent);
+       }
+       vim_free(p);
+      }
+***************
+*** 1187,1193 ****
+       p = get_expr_line();
+       if (p == NULL)
+           return FAIL;
+!      retval = put_in_typebuf(p, colon, silent);
+       vim_free(p);
+      }
+  #endif
+--- 1188,1194 ----
+       p = get_expr_line();
+       if (p == NULL)
+           return FAIL;
+!      retval = put_in_typebuf(p, TRUE, colon, silent);
+       vim_free(p);
+      }
+  #endif
+***************
+*** 1199,1205 ****
+           EMSG(_(e_noinstext));
+           return FAIL;
+       }
+!      retval = put_in_typebuf(p, colon, silent);
+       vim_free(p);
+      }
+      else
+--- 1200,1206 ----
+           EMSG(_(e_noinstext));
+           return FAIL;
+       }
+!      retval = put_in_typebuf(p, FALSE, colon, silent);
+       vim_free(p);
+      }
+      else
+***************
+*** 1217,1222 ****
+--- 1218,1225 ----
+       put_reedit_in_typebuf(silent);
+       for (i = y_current->y_size; --i >= 0; )
+       {
++          char_u *escaped;
++ 
+           /* insert NL between lines and after last line if type is MLINE */
+           if (y_current->y_type == MLINE || i < y_current->y_size - 1
+                                                                    || addcr)
+***************
+*** 1224,1231 ****
+               if (ins_typebuf((char_u *)"\n", remap, 0, TRUE, silent) == FAIL)
+                   return FAIL;
+           }
+!          if (ins_typebuf(y_current->y_array[i], remap, 0, TRUE, silent)
+!                                                                    == FAIL)
+               return FAIL;
+           if (colon && ins_typebuf((char_u *)":", remap, 0, TRUE, silent)
+                                                                     == FAIL)
+--- 1227,1238 ----
+               if (ins_typebuf((char_u *)"\n", remap, 0, TRUE, silent) == FAIL)
+                   return FAIL;
+           }
+!          escaped = vim_strsave_escape_csi(y_current->y_array[i]);
+!          if (escaped == NULL)
+!              return FAIL;
+!          retval = ins_typebuf(escaped, remap, 0, TRUE, silent);
+!          vim_free(escaped);
+!          if (retval == FAIL)
+               return FAIL;
+           if (colon && ins_typebuf((char_u *)":", remap, 0, TRUE, silent)
+                                                                     == FAIL)
+***************
+*** 1265,1272 ****
+  }
+  
+      static int
+! put_in_typebuf(s, colon, silent)
+      char_u   *s;
+      int              colon;      /* add ':' before the line */
+      int              silent;
+  {
+--- 1272,1280 ----
+  }
+  
+      static int
+! put_in_typebuf(s, esc, colon, silent)
+      char_u   *s;
++     int              esc;        /* Escape CSI characters */
+      int              colon;      /* add ':' before the line */
+      int              silent;
+  {
+***************
+*** 1276,1282 ****
+      if (colon)
+       retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent);
+      if (retval == OK)
+!      retval = ins_typebuf(s, REMAP_YES, 0, TRUE, silent);
+      if (colon && retval == OK)
+       retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent);
+      return retval;
+--- 1284,1303 ----
+      if (colon)
+       retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent);
+      if (retval == OK)
+!     {
+!      char_u  *p;
+! 
+!      if (esc)
+!          p = vim_strsave_escape_csi(s);
+!      else
+!          p = s;
+!      if (p == NULL)
+!          retval = FAIL;
+!      else
+!          retval = ins_typebuf(p, REMAP_YES, 0, TRUE, silent);
+!      if (esc)
+!          vim_free(p);
+!     }
+      if (colon && retval == OK)
+       retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent);
+      return retval;
+*** ../vim-7.0.202/src/version.c       Tue Feb 27 16:51:07 2007
+--- src/version.c      Tue Feb 27 17:22:13 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     203,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+215. Your mouse-clicking forearm rivals Popeye's.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.204 b/7.0.204
new file mode 100644 (file)
index 0000000..44b160d
--- /dev/null
+++ b/7.0.204
@@ -0,0 +1,61 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.204
+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 7.0.204
+Problem:    Cscope: Parsing matches for listing isn't done properly.
+Solution:   Check for line number being found. (Yu Zhao)
+Files:     src/if_cscope.c
+
+
+*** ../vim-7.0.203/src/if_cscope.c     Tue Jan 16 15:17:43 2007
+--- src/if_cscope.c    Tue Feb 27 17:56:49 2007
+***************
+*** 1932,1945 ****
+       if ((fname = strtok(NULL, (const char *)"\t")) == NULL)
+           continue;
+       if ((lno = strtok(NULL, (const char *)"\t")) == NULL)
+!      {
+!          /* if NULL, then no "extra", although in cscope's case, there
+!           * should always be "extra".
+!           */
+!          extra = NULL;
+!      }
+! 
+!      extra = lno + strlen(lno) + 1;
+  
+       lno[strlen(lno)-2] = '\0';  /* ignore ;" at the end */
+  
+--- 1932,1939 ----
+       if ((fname = strtok(NULL, (const char *)"\t")) == NULL)
+           continue;
+       if ((lno = strtok(NULL, (const char *)"\t")) == NULL)
+!          continue;
+!      extra = strtok(NULL, (const char *)"\t");
+  
+       lno[strlen(lno)-2] = '\0';  /* ignore ;" at the end */
+  
+*** ../vim-7.0.203/src/version.c       Tue Feb 27 17:25:28 2007
+--- src/version.c      Tue Feb 27 18:03:48 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     204,
+  /**/
+
+-- 
+I noticed my daughter's Disney-net password on a sticky note:
+"MickeyMinnieGoofyPluto".  I asked her why it was so long.
+"Because they say it has to have at least four characters."
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.205 b/7.0.205
new file mode 100644 (file)
index 0000000..ab9dbcf
--- /dev/null
+++ b/7.0.205
@@ -0,0 +1,56 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.205
+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 7.0.205 (after 7.0.203)
+Problem:    Can't compile.
+Solution:   Always include the vim_strsave_escape_csi function.
+Files:     src/getchar.c
+
+
+*** ../vim-7.0.204/src/getchar.c       Tue Dec  5 21:45:20 2006
+--- src/getchar.c      Tue Feb 27 23:04:38 2007
+***************
+*** 4401,4407 ****
+  }
+  #endif
+  
+- #if defined(FEAT_EVAL) || defined(PROTO)
+  /*
+   * Copy "p" to allocated memory, escaping K_SPECIAL and CSI so that the result
+   * can be put in the typeahead buffer.
+--- 4405,4410 ----
+***************
+*** 4440,4446 ****
+      }
+      return res;
+  }
+- #endif
+  
+  /*
+   * Write map commands for the current mappings to an .exrc file.
+--- 4443,4448 ----
+*** ../vim-7.0.204/src/version.c       Tue Feb 27 18:11:55 2007
+--- src/version.c      Tue Feb 27 23:05:15 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     205,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+218. Your spouse hands you a gift wrapped magnet with your PC's name
+     on it and you accuse him or her of genocide.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.206 b/7.0.206
new file mode 100644 (file)
index 0000000..3a42e4e
--- /dev/null
+++ b/7.0.206
@@ -0,0 +1,66 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.206
+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 7.0.206 (after 7.0.058)
+Problem:    Some characters of the "gb18030" encoding are not handled
+           properly.
+Solution:   Do not use "cp936" as an alias for "gb18030" encoding.  Instead
+           initialize 'encoding' to "cp936".
+Files:     src/mbyte.c, src/option.c
+
+
+*** ../vim-7.0.205/src/mbyte.c Tue Dec  5 22:09:02 2006
+--- src/mbyte.c        Tue Feb 27 16:27:44 2007
+***************
+*** 364,370 ****
+      {"949",          IDX_CP949},
+      {"936",          IDX_CP936},
+      {"gbk",          IDX_CP936},
+-     {"gb18030",              IDX_CP936},     /* only 99% the same */
+      {"950",          IDX_CP950},
+      {"eucjp",                IDX_EUC_JP},
+      {"unix-jis",     IDX_EUC_JP},
+--- 364,369 ----
+*** ../vim-7.0.205/src/option.c        Tue Oct 17 18:36:03 2006
+--- src/option.c       Thu Mar  1 21:02:06 2007
+***************
+*** 3290,3295 ****
+--- 3290,3303 ----
+        * If not, go back to the default "latin1". */
+       save_enc = p_enc;
+       p_enc = p;
++      if (STRCMP(p_enc, "gb18030") == 0)
++      {
++          /* We don't support "gb18030", but "cp936" is a good substitute
++           * for practical purposes, thus use that.  It's not an alias to
++           * still support conversion between gb18030 and utf-8. */
++          p_enc = vim_strsave((char_u *)"cp936");
++          vim_free(p);
++      }
+       if (mb_init() == NULL)
+       {
+           opt_idx = findoption((char_u *)"encoding");
+*** ../vim-7.0.205/src/version.c       Tue Feb 27 23:06:44 2007
+--- src/version.c      Fri Mar  2 19:58:04 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     206,
+  /**/
+
+-- 
+You can tune a file system, but you can't tuna fish
+                                                       -- man tunefs
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.207 b/7.0.207
new file mode 100644 (file)
index 0000000..b91d21c
--- /dev/null
+++ b/7.0.207
@@ -0,0 +1,101 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.207
+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 7.0.207
+Problem:    After patch 2.0.203 CSI and K_SPECIAL characters are escaped when
+           recorded and then again when the register is executed.
+Solution:   Remove escaping before putting the recorded characters in a
+           register.  (Yukihiro Nakadaira)
+Files:     src/getchar.c, src/ops.c, src/proto/getchar.pro
+
+
+*** ../vim-7.0.206/src/getchar.c       Tue Feb 27 23:06:44 2007
+--- src/getchar.c      Sun Mar  4 21:19:50 2007
+***************
+*** 4438,4443 ****
+--- 4442,4476 ----
+       *d = NUL;
+      }
+      return res;
++ }
++ 
++ /*
++  * Remove escaping from CSI and K_SPECIAL characters.  Reverse of
++  * vim_strsave_escape_csi().  Works in-place.
++  */
++     void
++ vim_unescape_csi(p)
++     char_u *p;
++ {
++     char_u   *s = p, *d = p;
++ 
++     while (*s != NUL)
++     {
++      if (s[0] == K_SPECIAL && s[1] == KS_SPECIAL && s[2] == KE_FILLER)
++      {
++          *d++ = K_SPECIAL;
++          s += 3;
++      }
++      else if ((s[0] == K_SPECIAL || s[0] == CSI)
++                                 && s[1] == KS_EXTRA && s[2] == (int)KE_CSI)
++      {
++          *d++ = CSI;
++          s += 3;
++      }
++      else
++          *d++ = *s++;
++     }
++     *d = NUL;
+  }
+  
+  /*
+*** ../vim-7.0.206/src/ops.c   Tue Feb 27 17:25:28 2007
+--- src/ops.c  Sun Mar  4 21:23:47 2007
+***************
+*** 1042,1047 ****
+--- 1042,1050 ----
+           retval = FAIL;
+       else
+       {
++          /* Remove escaping for CSI and K_SPECIAL in multi-byte chars. */
++          vim_unescape_csi(p);
++ 
+           /*
+            * We don't want to change the default register here, so save and
+            * restore the current register name.
+*** ../vim-7.0.206/src/proto/getchar.pro       Sun Apr 30 20:38:15 2006
+--- src/proto/getchar.pro      Sun Mar  4 21:19:41 2007
+***************
+*** 56,61 ****
+--- 56,62 ----
+  extern int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file));
+  extern int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol));
+  extern char_u *vim_strsave_escape_csi __ARGS((char_u *p));
++ extern void vim_unescape_csi __ARGS((char_u *p));
+  extern int makemap __ARGS((FILE *fd, buf_T *buf));
+  extern int put_escstr __ARGS((FILE *fd, char_u *strstart, int what));
+  extern void check_map_keycodes __ARGS((void));
+*** ../vim-7.0.206/src/version.c       Fri Mar  2 20:00:06 2007
+--- src/version.c      Sun Mar  4 21:24:26 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     207,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+251. You've never seen your closest friends who usually live WAY too far away.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.208 b/7.0.208
new file mode 100644 (file)
index 0000000..28d46f0
--- /dev/null
+++ b/7.0.208
@@ -0,0 +1,350 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.208
+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 7.0.208 (after 7.0.171 and 7.0.180)
+Problem:    VMS: changes to path handling cause more trouble than they solve.
+Solution:   Revert changes.
+Files:     src/buffer.c, src/memline.c, src/os_unix.c
+
+
+*** ../vim-7.0.207/src/buffer.c        Tue Nov 28 17:44:51 2006
+--- src/buffer.c       Mon Mar  5 21:34:41 2007
+***************
+*** 4145,4157 ****
+      /*
+       * Force expanding the path always for Unix, because symbolic links may
+       * mess up the full path name, even though it starts with a '/'.
+-      * Also expand always for VMS, it may have alternate paths that need to be
+-      * resolved.
+       * Also expand when there is ".." in the file name, try to remove it,
+       * because "c:/src/../README" is equal to "c:/README".
+       * For MS-Windows also expand names like "longna~1" to "longname".
+       */
+! #if defined(UNIX) || defined(VMS)
+      return FullName_save(fname, TRUE);
+  #else
+      if (!vim_isAbsName(fname) || strstr((char *)fname, "..") != NULL
+--- 4145,4155 ----
+      /*
+       * Force expanding the path always for Unix, because symbolic links may
+       * mess up the full path name, even though it starts with a '/'.
+       * Also expand when there is ".." in the file name, try to remove it,
+       * because "c:/src/../README" is equal to "c:/README".
+       * For MS-Windows also expand names like "longna~1" to "longname".
+       */
+! #ifdef UNIX
+      return FullName_save(fname, TRUE);
+  #else
+      if (!vim_isAbsName(fname) || strstr((char *)fname, "..") != NULL
+*** ../vim-7.0.207/src/memline.c       Tue Feb 13 04:03:05 2007
+--- src/memline.c      Mon Mar  5 21:34:41 2007
+***************
+*** 3592,3600 ****
+  #else
+           (buf->b_p_sn || buf->b_shortname),
+  #endif
+! #if defined(VMS) || defined(RISCOS)
+!          /* Avoid problems if fname has special chars, eg <Wimp$Scrap>.
+!           * For VMS always use full path for swapfile. */
+           ffname,
+  #else
+  # ifdef HAVE_READLINK
+--- 3592,3599 ----
+  #else
+           (buf->b_p_sn || buf->b_shortname),
+  #endif
+! #ifdef RISCOS
+!          /* Avoid problems if fname has special chars, eg <Wimp$Scrap> */
+           ffname,
+  #else
+  # ifdef HAVE_READLINK
+*** ../vim-7.0.207/src/os_unix.c       Tue Feb 27 16:51:07 2007
+--- src/os_unix.c      Mon Mar  5 21:40:31 2007
+***************
+*** 2214,2262 ****
+      int              len;
+      int              force;          /* also expand when already absolute path */
+  {
+- #ifdef VMS
+-     /*
+-      * VMS does this in a completely different way.
+-      *
+-      * By default a file found in a complex path is written to the first
+-      * directory in the path and not to the original directory.  This
+-      * behaviour should be avoided for the existing files and we need to find
+-      * the exact path of the edited file.
+-      */
+-     {
+-      char_u  *fixed_fname = vms_fixfilename(fname);
+-      int     fd = mch_open((char *)fixed_fname, O_RDONLY | O_EXTRA, 0);
+- 
+-      if (fd > 0)
+-      {
+-          char nbuf[MAXNAMLEN];
+- 
+-          /* File exists, use getname() to get the real name. */
+-          if (getname(fd, nbuf))
+-              vim_strncpy(fixed_fname, (char_u *)nbuf, (size_t)(len - 1));
+-          close(fd);
+-      }
+- 
+-      if (STRLEN(fixed_fname) >= len)
+-          return FAIL;
+- 
+-      STRCPY(buf, fixed_fname);
+-     }
+- 
+- #else /* not VMS */
+- 
+      int              l;
+! # ifdef OS2
+      int              only_drive;     /* file name is only a drive letter */
+! # endif
+! # ifdef HAVE_FCHDIR
+      int              fd = -1;
+      static int       dont_fchdir = FALSE;    /* TRUE when fchdir() doesn't work */
+! # endif
+      char_u   olddir[MAXPATHL];
+      char_u   *p;
+      int              retval = OK;
+  
+      /* expand it if forced or not an absolute path */
+      if (force || !mch_isFullName(fname))
+      {
+--- 2214,2235 ----
+      int              len;
+      int              force;          /* also expand when already absolute path */
+  {
+      int              l;
+! #ifdef OS2
+      int              only_drive;     /* file name is only a drive letter */
+! #endif
+! #ifdef HAVE_FCHDIR
+      int              fd = -1;
+      static int       dont_fchdir = FALSE;    /* TRUE when fchdir() doesn't work */
+! #endif
+      char_u   olddir[MAXPATHL];
+      char_u   *p;
+      int              retval = OK;
+  
++ #ifdef VMS
++     fname = vms_fixfilename(fname);
++ #endif
++ 
+      /* expand it if forced or not an absolute path */
+      if (force || !mch_isFullName(fname))
+      {
+***************
+*** 2265,2280 ****
+        * and then do the getwd() (and get back to where we were).
+        * This will get the correct path name with "../" things.
+        */
+! # ifdef OS2
+       only_drive = 0;
+       if (((p = vim_strrchr(fname, '/')) != NULL)
+               || ((p = vim_strrchr(fname, '\\')) != NULL)
+               || (((p = vim_strchr(fname,  ':')) != NULL) && ++only_drive))
+! # else
+       if ((p = vim_strrchr(fname, '/')) != NULL)
+! # endif
+       {
+! # ifdef HAVE_FCHDIR
+           /*
+            * Use fchdir() if possible, it's said to be faster and more
+            * reliable.  But on SunOS 4 it might not work.  Check this by
+--- 2238,2253 ----
+        * and then do the getwd() (and get back to where we were).
+        * This will get the correct path name with "../" things.
+        */
+! #ifdef OS2
+       only_drive = 0;
+       if (((p = vim_strrchr(fname, '/')) != NULL)
+               || ((p = vim_strrchr(fname, '\\')) != NULL)
+               || (((p = vim_strchr(fname,  ':')) != NULL) && ++only_drive))
+! #else
+       if ((p = vim_strrchr(fname, '/')) != NULL)
+! #endif
+       {
+! #ifdef HAVE_FCHDIR
+           /*
+            * Use fchdir() if possible, it's said to be faster and more
+            * reliable.  But on SunOS 4 it might not work.  Check this by
+***************
+*** 2290,2303 ****
+                   dont_fchdir = TRUE;     /* don't try again */
+               }
+           }
+! # endif
+  
+           /* Only change directory when we are sure we can return to where
+            * we are now.  After doing "su" chdir(".") might not work. */
+           if (
+! # ifdef HAVE_FCHDIR
+               fd < 0 &&
+! # endif
+                       (mch_dirname(olddir, MAXPATHL) == FAIL
+                                          || mch_chdir((char *)olddir) != 0))
+           {
+--- 2263,2276 ----
+                   dont_fchdir = TRUE;     /* don't try again */
+               }
+           }
+! #endif
+  
+           /* Only change directory when we are sure we can return to where
+            * we are now.  After doing "su" chdir(".") might not work. */
+           if (
+! #ifdef HAVE_FCHDIR
+               fd < 0 &&
+! #endif
+                       (mch_dirname(olddir, MAXPATHL) == FAIL
+                                          || mch_chdir((char *)olddir) != 0))
+           {
+***************
+*** 2306,2312 ****
+           }
+           else
+           {
+! # ifdef OS2
+               /*
+                * compensate for case where ':' from "D:" was the only
+                * path separator detected in the file name; the _next_
+--- 2279,2285 ----
+           }
+           else
+           {
+! #ifdef OS2
+               /*
+                * compensate for case where ':' from "D:" was the only
+                * path separator detected in the file name; the _next_
+***************
+*** 2314,2320 ****
+                */
+               if (only_drive)
+                   p++;
+! # endif
+               /* The directory is copied into buf[], to be able to remove
+                * the file name without changing it (could be a string in
+                * read-only memory) */
+--- 2287,2293 ----
+                */
+               if (only_drive)
+                   p++;
+! #endif
+               /* The directory is copied into buf[], to be able to remove
+                * the file name without changing it (could be a string in
+                * read-only memory) */
+***************
+*** 2329,2342 ****
+                       fname = p + 1;
+                   *buf = NUL;
+               }
+! # ifdef OS2
+               if (only_drive)
+               {
+                   p--;
+                   if (retval != FAIL)
+                       fname--;
+               }
+! # endif
+           }
+       }
+       if (mch_dirname(buf, len) == FAIL)
+--- 2302,2315 ----
+                       fname = p + 1;
+                   *buf = NUL;
+               }
+! #ifdef OS2
+               if (only_drive)
+               {
+                   p--;
+                   if (retval != FAIL)
+                       fname--;
+               }
+! #endif
+           }
+       }
+       if (mch_dirname(buf, len) == FAIL)
+***************
+*** 2346,2359 ****
+       }
+       if (p != NULL)
+       {
+! # ifdef HAVE_FCHDIR
+           if (fd >= 0)
+           {
+               l = fchdir(fd);
+               close(fd);
+           }
+           else
+! # endif
+               l = mch_chdir((char *)olddir);
+           if (l != 0)
+               EMSG(_(e_prev_dir));
+--- 2319,2332 ----
+       }
+       if (p != NULL)
+       {
+! #ifdef HAVE_FCHDIR
+           if (fd >= 0)
+           {
+               l = fchdir(fd);
+               close(fd);
+           }
+           else
+! #endif
+               l = mch_chdir((char *)olddir);
+           if (l != 0)
+               EMSG(_(e_prev_dir));
+***************
+*** 2362,2373 ****
+--- 2335,2348 ----
+       l = STRLEN(buf);
+       if (l >= len)
+           retval = FAIL;
++ #ifndef VMS
+       else
+       {
+           if (l > 0 && buf[l - 1] != '/' && *fname != NUL
+                                                  && STRCMP(fname, ".") != 0)
+               STRCAT(buf, "/");
+       }
++ #endif
+      }
+  
+      /* Catch file names which are too long. */
+***************
+*** 2377,2384 ****
+      /* Do not append ".", "/dir/." is equal to "/dir". */
+      if (STRCMP(fname, ".") != 0)
+       STRCAT(buf, fname);
+- 
+- #endif /* VMS */
+  
+      return OK;
+  }
+--- 2352,2357 ----
+*** ../vim-7.0.207/src/version.c       Sun Mar  4 21:25:44 2007
+--- src/version.c      Tue Mar  6 20:22:52 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     208,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+262. Your computer has it's own phone line - but your daughter doesn't.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.209 b/7.0.209
new file mode 100644 (file)
index 0000000..6d189f2
--- /dev/null
+++ b/7.0.209
@@ -0,0 +1,60 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.209
+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 7.0.209
+Problem:    When replacing a line through Python the cursor may end up beyond
+           the end of the line.
+Solution:   Check the cursor column after replacing the line.
+Files:     src/if_python.c
+
+
+*** ../vim-7.0.208/src/if_python.c     Tue Oct  3 15:02:11 2006
+--- src/if_python.c    Tue Mar  6 23:00:53 2007
+***************
+*** 2410,2415 ****
+--- 2410,2417 ----
+           curwin->w_cursor.lnum = lo;
+           check_cursor();
+       }
++      else
++          check_cursor_col();
+       changed_cline_bef_curs();
+      }
+      invalidate_botline();
+***************
+*** 2486,2491 ****
+--- 2488,2497 ----
+           changed_bytes((linenr_T)n, 0);
+  
+       curbuf = savebuf;
++ 
++      /* Check that the cursor is not beyond the end of the line now. */
++      if (buf == curwin->w_buffer)
++          check_cursor_col();
+  
+       if (PyErr_Occurred() || VimErrorCheck())
+           return FAIL;
+*** ../vim-7.0.208/src/version.c       Tue Mar  6 20:27:03 2007
+--- src/version.c      Thu Mar  8 10:16:23 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     209,
+  /**/
+
+-- 
+In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975
+of them are to be found in the United States.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.210 b/7.0.210
new file mode 100644 (file)
index 0000000..6c91e53
--- /dev/null
+++ b/7.0.210
@@ -0,0 +1,116 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.210
+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 7.0.210
+Problem:    ":cbuffer" and ":lbuffer" always fail when the buffer is modified.
+           (Gary Johnson)
+Solution:   Support adding a !. (Yegappan Lakshmanan)
+Files:     runtime/doc/quickfix.txt, src/ex_cmds.h
+
+
+*** ../vim-7.0.209/runtime/doc/quickfix.txt    Sun May  7 17:15:46 2006
+--- runtime/doc/quickfix.txt   Thu Mar  8 10:14:54 2007
+***************
+*** 1,4 ****
+! *quickfix.txt*  For Vim version 7.0.  Last change: 2006 Apr 30
+  
+  
+                 VIM REFERENCE MANUAL    by Bram Moolenaar
+--- 1,4 ----
+! *quickfix.txt*  For Vim version 7.0.  Last change: 2006 Jul 18
+  
+  
+                 VIM REFERENCE MANUAL    by Bram Moolenaar
+***************
+*** 178,192 ****
+                       current window is used instead of the quickfix list.
+  
+                                               *:cb* *:cbuffer* *E681*
+! :cb[uffer] [bufnr]   Read the error list from the current buffer.
+                       When [bufnr] is given it must be the number of a
+                       loaded buffer.  That buffer will then be used instead
+                       of the current buffer.
+                       A range can be specified for the lines to be used.
+                       Otherwise all lines in the buffer are used.
+  
+                                               *:lb* *:lbuffer*
+! :lb[uffer] [bufnr]   Same as ":cbuffer", except the location list for the
+                       current window is used instead of the quickfix list.
+  
+                                               *:cgetb* *:cgetbuffer*
+--- 178,193 ----
+                       current window is used instead of the quickfix list.
+  
+                                               *:cb* *:cbuffer* *E681*
+! :cb[uffer][!] [bufnr]        Read the error list from the current buffer.
+                       When [bufnr] is given it must be the number of a
+                       loaded buffer.  That buffer will then be used instead
+                       of the current buffer.
+                       A range can be specified for the lines to be used.
+                       Otherwise all lines in the buffer are used.
++                      See |:cc| for [!].
+  
+                                               *:lb* *:lbuffer*
+! :lb[uffer][!] [bufnr]        Same as ":cbuffer", except the location list for the
+                       current window is used instead of the quickfix list.
+  
+                                               *:cgetb* *:cgetbuffer*
+*** ../vim-7.0.209/src/ex_cmds.h       Thu Jun 22 21:15:46 2006
+--- src/ex_cmds.h      Wed Mar  7 21:53:27 2007
+***************
+*** 198,204 ****
+  EX(CMD_catch,                "catch",        ex_catch,
+                       EXTRA|SBOXOK|CMDWIN),
+  EX(CMD_cbuffer,              "cbuffer",      ex_cbuffer,
+!                      RANGE|NOTADR|WORD1|TRLBAR),
+  EX(CMD_cc,           "cc",           ex_cc,
+                       RANGE|NOTADR|COUNT|TRLBAR|BANG),
+  EX(CMD_cclose,               "cclose",       ex_cclose,
+--- 198,204 ----
+  EX(CMD_catch,                "catch",        ex_catch,
+                       EXTRA|SBOXOK|CMDWIN),
+  EX(CMD_cbuffer,              "cbuffer",      ex_cbuffer,
+!                      BANG|RANGE|NOTADR|WORD1|TRLBAR),
+  EX(CMD_cc,           "cc",           ex_cc,
+                       RANGE|NOTADR|COUNT|TRLBAR|BANG),
+  EX(CMD_cclose,               "cclose",       ex_cclose,
+***************
+*** 498,504 ****
+  EX(CMD_later,                "later",        ex_later,
+                       TRLBAR|EXTRA|NOSPC|CMDWIN),
+  EX(CMD_lbuffer,              "lbuffer",      ex_cbuffer,
+!                      RANGE|NOTADR|WORD1|TRLBAR),
+  EX(CMD_lcd,          "lcd",          ex_cd,
+                       BANG|FILE1|TRLBAR|CMDWIN),
+  EX(CMD_lchdir,               "lchdir",       ex_cd,
+--- 498,504 ----
+  EX(CMD_later,                "later",        ex_later,
+                       TRLBAR|EXTRA|NOSPC|CMDWIN),
+  EX(CMD_lbuffer,              "lbuffer",      ex_cbuffer,
+!                      BANG|RANGE|NOTADR|WORD1|TRLBAR),
+  EX(CMD_lcd,          "lcd",          ex_cd,
+                       BANG|FILE1|TRLBAR|CMDWIN),
+  EX(CMD_lchdir,               "lchdir",       ex_cd,
+*** ../vim-7.0.209/src/version.c       Thu Mar  8 10:25:03 2007
+--- src/version.c      Thu Mar  8 11:04:35 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     210,
+  /**/
+
+-- 
+press CTRL-ALT-DEL for more information
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.211 b/7.0.211
new file mode 100644 (file)
index 0000000..46c0a97
--- /dev/null
+++ b/7.0.211
@@ -0,0 +1,59 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.211
+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 7.0.211
+Problem:    With ":set cindent noai bs=0" using CTRL-U in Insert mode will 
+            delete auto-indent.  After ":set ai" it doesn't.
+Solution:   Also check 'cindent' being set. (Ryan Lortie)
+Files:      src/edit.c
+
+
+*** ../vim-7.0.210/src/edit.c  Tue Feb 20 03:52:04 2007
+--- src/edit.c Thu Mar  8 13:10:42 2007
+***************
+*** 8250,8256 ****
+  #endif
+       mincol = 0;
+                                               /* keep indent */
+!      if (mode == BACKSPACE_LINE && curbuf->b_p_ai
+  #ifdef FEAT_RIGHTLEFT
+               && !revins_on
+  #endif
+--- 8250,8261 ----
+  #endif
+       mincol = 0;
+                                               /* keep indent */
+!      if (mode == BACKSPACE_LINE
+!              && (curbuf->b_p_ai
+! #ifdef FEAT_CINDENT
+!                     || cindent_on()
+! #endif
+!                 )
+  #ifdef FEAT_RIGHTLEFT
+               && !revins_on
+  #endif
+*** ../vim-7.0.210/src/version.c       Thu Mar  8 11:05:32 2007
+--- src/version.c      Thu Mar  8 13:14:13 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     211,
+  /**/
+
+-- 
+Microsoft: "Windows NT 4.0 now has the same user-interface as Windows 95"
+    Windows 95: "Press CTRL-ALT-DEL to reboot"
+Windows NT 4.0: "Press CTRL-ALT-DEL to login"
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.212 b/7.0.212
new file mode 100644 (file)
index 0000000..15845c5
--- /dev/null
+++ b/7.0.212
@@ -0,0 +1,98 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.212
+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 7.0.212
+Problem:    The GUI can't be terminated with SIGTERM. (Mark Logan)
+Solution:   Use the signal protection in the GUI as in the console, allow
+           signals when waiting for 100 msec or longer.
+Files:     src/ui.c
+
+
+*** ../vim-7.0.211/src/ui.c    Tue Aug 29 17:28:56 2006
+--- src/ui.c   Thu Mar  8 13:24:17 2007
+***************
+*** 166,175 ****
+      }
+  #endif
+  
+!     /* When doing a blocking wait there is no need for CTRL-C to interrupt
+!      * something, don't let it set got_int when it was mapped. */
+!     if (mapped_ctrl_c && (wtime == -1 || wtime > 100L))
+!      ctrl_c_interrupts = FALSE;
+  
+  #ifdef FEAT_GUI
+      if (gui.in_use)
+--- 166,182 ----
+      }
+  #endif
+  
+!     /* If we are going to wait for some time or block... */
+!     if (wtime == -1 || wtime > 100L)
+!     {
+!      /* ... allow signals to kill us. */
+!      (void)vim_handle_signal(SIGNAL_UNBLOCK);
+! 
+!      /* ... there is no need for CTRL-C to interrupt something, don't let
+!       * it set got_int when it was mapped. */
+!      if (mapped_ctrl_c)
+!          ctrl_c_interrupts = FALSE;
+!     }
+  
+  #ifdef FEAT_GUI
+      if (gui.in_use)
+***************
+*** 183,198 ****
+      else
+  # endif
+      {
+-      if (wtime == -1 || wtime > 100L)
+-          /* allow signals to kill us */
+-          (void)vim_handle_signal(SIGNAL_UNBLOCK);
+       retval = mch_inchar(buf, maxlen, wtime, tb_change_cnt);
+-      if (wtime == -1 || wtime > 100L)
+-          /* block SIGHUP et al. */
+-          (void)vim_handle_signal(SIGNAL_BLOCK);
+      }
+  #endif
+  
+      ctrl_c_interrupts = TRUE;
+  
+  #ifdef NO_CONSOLE_INPUT
+--- 190,203 ----
+      else
+  # endif
+      {
+       retval = mch_inchar(buf, maxlen, wtime, tb_change_cnt);
+      }
+  #endif
+  
++     if (wtime == -1 || wtime > 100L)
++      /* block SIGHUP et al. */
++      (void)vim_handle_signal(SIGNAL_BLOCK);
++ 
+      ctrl_c_interrupts = TRUE;
+  
+  #ifdef NO_CONSOLE_INPUT
+*** ../vim-7.0.211/src/version.c       Thu Mar  8 13:15:08 2007
+--- src/version.c      Thu Mar  8 13:37:06 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     212,
+  /**/
+
+-- 
+This is an airconditioned room, do not open Windows.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.213 b/7.0.213
new file mode 100644 (file)
index 0000000..0185756
--- /dev/null
+++ b/7.0.213
@@ -0,0 +1,48 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.213
+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 7.0.213
+Problem:    When 'spellfile' has two regions that use the same sound folding
+           using "z=" will cause memory to be freed twice. (Mark Woodward)
+Solution:   Clear the hashtable properly so that the items are only freed once.
+Files:     src/spell.c
+
+
+*** ../vim-7.0.212/src/spell.c Thu Sep 14 10:48:00 2006
+--- src/spell.c        Thu Mar  8 14:54:46 2007
+***************
+*** 13094,13100 ****
+--- 13094,13103 ----
+                   vim_free(HI2SFT(hi));
+                   --todo;
+               }
++ 
++          /* Clear the hashtable, it may also be used by another region. */
+           hash_clear(&slang->sl_sounddone);
++          hash_init(&slang->sl_sounddone);
+       }
+      }
+  }
+*** ../vim-7.0.212/src/version.c       Thu Mar  8 13:41:25 2007
+--- src/version.c      Thu Mar  8 14:53:40 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     213,
+  /**/
+
+-- 
+The software said it requires Windows 95 or better, so I installed Linux.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.214 b/7.0.214
new file mode 100644 (file)
index 0000000..fba4383
--- /dev/null
+++ b/7.0.214
@@ -0,0 +1,166 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.214
+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 7.0.214
+Problem:    When using <f-args> in a user command it's not possible to have an
+           argument end in '\ '.
+Solution:   Change the handling of backslashes. (Yakov Lerner)
+Files:     runtime/doc/map.txt, src/ex_docmd.c
+
+
+*** ../vim-7.0.213/runtime/doc/map.txt Sun May  7 16:57:11 2006
+--- runtime/doc/map.txt        Thu Mar  8 18:00:26 2007
+***************
+*** 1,4 ****
+! *map.txt*       For Vim version 7.0.  Last change: 2006 May 03
+  
+  
+                 VIM REFERENCE MANUAL    by Bram Moolenaar
+--- 1,4 ----
+! *map.txt*       For Vim version 7.0.  Last change: 2007 Mar 08
+  
+  
+                 VIM REFERENCE MANUAL    by Bram Moolenaar
+***************
+*** 1303,1314 ****
+  <q-args>) then the value is quoted in such a way as to make it a valid value
+  for use in an expression.  This uses the argument as one single value.
+  When there is no argument <q-args> is an empty string.
+! 
+  To allow commands to pass their arguments on to a user-defined function, there
+  is a special form <f-args> ("function args").  This splits the command
+  arguments at spaces and Tabs, quotes each argument individually, and the
+  <f-args> sequence is replaced by the comma-separated list of quoted arguments.
+  See the Mycmd example below.  If no arguments are given <f-args> is removed.
+  
+  Examples >
+  
+--- 1319,1346 ----
+  <q-args>) then the value is quoted in such a way as to make it a valid value
+  for use in an expression.  This uses the argument as one single value.
+  When there is no argument <q-args> is an empty string.
+!                                                      *<f-args>*
+  To allow commands to pass their arguments on to a user-defined function, there
+  is a special form <f-args> ("function args").  This splits the command
+  arguments at spaces and Tabs, quotes each argument individually, and the
+  <f-args> sequence is replaced by the comma-separated list of quoted arguments.
+  See the Mycmd example below.  If no arguments are given <f-args> is removed.
++    To embed whitespace into an argument of <f-args>, prepend a backslash.
++ <f-args> replaces every pair of backslashes (\\) with one backslash.  A
++ backslash followed by a character other than white space or a backslash
++ remains unmodified.  Overview:
++ 
++      command            <f-args> ~
++      XX ab              'ab'
++      XX a\b             'a\b'
++      XX a\ b            'a b'
++      XX a\  b           'a ', 'b'
++      XX a\\b            'a\b'
++      XX a\\ b           'a\', 'b'
++      XX a\\\b           'a\\b'
++      XX a\\\ b          'a\ b'
++      XX a\\\\b          'a\\b'
++      XX a\\\\ b         'a\\', 'b'
+  
+  Examples >
+  
+*** ../vim-7.0.213/src/ex_docmd.c      Tue Nov 28 21:41:19 2006
+--- src/ex_docmd.c     Thu Mar  8 17:49:11 2007
+***************
+*** 5551,5556 ****
+--- 5551,5559 ----
+       mch_memmove(cmd, cmd + 1, (gap->ga_len - i) * sizeof(ucmd_T));
+  }
+  
++ /*
++  * split and quote args for <f-args>
++  */
+      static char_u *
+  uc_split_args(arg, lenp)
+      char_u *arg;
+***************
+*** 5567,5573 ****
+  
+      while (*p)
+      {
+!      if (p[0] == '\\' && vim_iswhite(p[1]))
+       {
+           len += 1;
+           p += 2;
+--- 5570,5581 ----
+  
+      while (*p)
+      {
+!      if (p[0] == '\\' && p[1] == '\\')
+!      {
+!          len += 2;
+!          p += 2;
+!      }
+!      else if (p[0] == '\\' && vim_iswhite(p[1]))
+       {
+           len += 1;
+           p += 2;
+***************
+*** 5603,5609 ****
+      *q++ = '"';
+      while (*p)
+      {
+!      if (p[0] == '\\' && vim_iswhite(p[1]))
+       {
+           *q++ = p[1];
+           p += 2;
+--- 5611,5623 ----
+      *q++ = '"';
+      while (*p)
+      {
+!      if (p[0] == '\\' && p[1] == '\\')
+!      {
+!          *q++ = '\\';
+!          *q++ = '\\';
+!          p += 2;
+!      }
+!      else if (p[0] == '\\' && vim_iswhite(p[1]))
+       {
+           *q++ = p[1];
+           p += 2;
+***************
+*** 5735,5741 ****
+           }
+  
+           break;
+!      case 2: /* Quote and split */
+           /* This is hard, so only do it once, and cache the result */
+           if (*split_buf == NULL)
+               *split_buf = uc_split_args(eap->arg, split_len);
+--- 5749,5755 ----
+           }
+  
+           break;
+!      case 2: /* Quote and split (<f-args>) */
+           /* This is hard, so only do it once, and cache the result */
+           if (*split_buf == NULL)
+               *split_buf = uc_split_args(eap->arg, split_len);
+*** ../vim-7.0.213/src/version.c       Thu Mar  8 14:54:52 2007
+--- src/version.c      Thu Mar  8 18:11:47 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     214,
+  /**/
+
+-- 
+Microsoft's definition of a boolean: TRUE, FALSE, MAYBE
+"Embrace and extend"...?
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.0.216 b/7.0.216
new file mode 100644 (file)
index 0000000..4227971
--- /dev/null
+++ b/7.0.216
@@ -0,0 +1,123 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.216
+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 7.0.216
+Problem:    ":tab wincmd ]" does not open a tab page. (Tony Mechelynck)
+Solution:   Copy the cmdmod.tab value to postponed_split_tab and use it.
+Files:     src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c
+
+
+*** ../vim-7.0.215/src/globals.h       Wed Feb  7 03:42:37 2007
+--- src/globals.h      Sun Mar 11 15:27:12 2007
+***************
+*** 1030,1035 ****
+--- 1030,1036 ----
+  #ifdef FEAT_WINDOWS
+  EXTERN int   postponed_split INIT(= 0);  /* for CTRL-W CTRL-] command */
+  EXTERN int   postponed_split_flags INIT(= 0);  /* args for win_split() */
++ EXTERN int   postponed_split_tab INIT(= 0);  /* cmdmod.tab */
+  # ifdef FEAT_QUICKFIX
+  EXTERN int   g_do_tagpreview INIT(= 0);  /* for tag preview commands:
+                                              height of preview window */
+*** ../vim-7.0.215/src/ex_docmd.c      Thu Mar  8 18:16:54 2007
+--- src/ex_docmd.c     Sun Mar 11 15:29:06 2007
+***************
+*** 7980,7987 ****
+--- 7980,7989 ----
+      {
+       /* Pass flags on for ":vertical wincmd ]". */
+       postponed_split_flags = cmdmod.split;
++      postponed_split_tab = cmdmod.tab;
+       do_window(*eap->arg, eap->addr_count > 0 ? eap->line2 : 0L, xchar);
+       postponed_split_flags = 0;
++      postponed_split_tab = 0;
+      }
+  }
+  #endif
+***************
+*** 9189,9196 ****
+--- 9191,9200 ----
+  {
+      postponed_split = -1;
+      postponed_split_flags = cmdmod.split;
++     postponed_split_tab = cmdmod.tab;
+      ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
+      postponed_split_flags = 0;
++     postponed_split_tab = 0;
+  }
+  #endif
+  
+*** ../vim-7.0.215/src/if_cscope.c     Tue Feb 27 18:11:55 2007
+--- src/if_cscope.c    Sun Mar 11 15:29:57 2007
+***************
+*** 128,133 ****
+--- 128,134 ----
+       }
+       postponed_split = -1;
+       postponed_split_flags = cmdmod.split;
++      postponed_split_tab = cmdmod.tab;
+      }
+  #endif
+  
+***************
+*** 135,140 ****
+--- 136,142 ----
+  
+  #ifdef FEAT_WINDOWS
+      postponed_split_flags = 0;
++     postponed_split_tab = 0;
+  #endif
+  }
+  
+*** ../vim-7.0.215/src/window.c        Tue Feb 20 00:17:01 2007
+--- src/window.c       Sun Mar 11 15:31:57 2007
+***************
+*** 3290,3300 ****
+      int
+  may_open_tabpage()
+  {
+!     int              n = cmdmod.tab;
+  
+!     if (cmdmod.tab != 0)
+      {
+       cmdmod.tab = 0;     /* reset it to avoid doing it twice */
+       return win_new_tabpage(n);
+      }
+      return FAIL;
+--- 3290,3301 ----
+      int
+  may_open_tabpage()
+  {
+!     int              n = (cmdmod.tab == 0) ? postponed_split_tab : cmdmod.tab;
+  
+!     if (n != 0)
+      {
+       cmdmod.tab = 0;     /* reset it to avoid doing it twice */
++      postponed_split_tab = 0;
+       return win_new_tabpage(n);
+      }
+      return FAIL;
+*** ../vim-7.0.215/src/version.c       Thu Mar  8 20:39:02 2007
+--- src/version.c      Sun Mar 11 15:50:04 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     216,
+  /**/
+
+-- 
+You were lucky to have a LAKE! There were a hundred and sixty of
+us living in a small shoebox in the middle of the road.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.162797 seconds and 4 git commands to generate.