]> git.pld-linux.org Git - packages/vim.git/commitdiff
- new
authorAdam Gołębiowski <adamg@pld-linux.org>
Fri, 6 Feb 2009 16:48:13 +0000 (16:48 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    7.2.084 -> 1.1
    7.2.085 -> 1.1
    7.2.086 -> 1.1
    7.2.087 -> 1.1
    7.2.088 -> 1.1
    7.2.089 -> 1.1
    7.2.090 -> 1.1
    7.2.091 -> 1.1
    7.2.092 -> 1.1
    7.2.093 -> 1.1
    7.2.094 -> 1.1
    7.2.095 -> 1.1
    7.2.096 -> 1.1
    7.2.097 -> 1.1
    7.2.098 -> 1.1
    7.2.099 -> 1.1
    7.2.100 -> 1.1
    7.2.101 -> 1.1
    7.2.102 -> 1.1

19 files changed:
7.2.084 [new file with mode: 0644]
7.2.085 [new file with mode: 0644]
7.2.086 [new file with mode: 0644]
7.2.087 [new file with mode: 0644]
7.2.088 [new file with mode: 0644]
7.2.089 [new file with mode: 0644]
7.2.090 [new file with mode: 0644]
7.2.091 [new file with mode: 0644]
7.2.092 [new file with mode: 0644]
7.2.093 [new file with mode: 0644]
7.2.094 [new file with mode: 0644]
7.2.095 [new file with mode: 0644]
7.2.096 [new file with mode: 0644]
7.2.097 [new file with mode: 0644]
7.2.098 [new file with mode: 0644]
7.2.099 [new file with mode: 0644]
7.2.100 [new file with mode: 0644]
7.2.101 [new file with mode: 0644]
7.2.102 [new file with mode: 0644]

diff --git a/7.2.084 b/7.2.084
new file mode 100644 (file)
index 0000000..4c912ca
--- /dev/null
+++ b/7.2.084
@@ -0,0 +1,144 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.084
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.084
+Problem:    Recursive structures are not handled properly in Python
+           vim.eval().
+Solution:   Keep track of references in a better way. (Yukihiro Nakadaira)
+Files:     src/if_python.c
+
+
+*** ../vim-7.2.083/src/if_python.c     Thu Nov 20 11:04:01 2008
+--- src/if_python.c    Tue Jan 13 18:08:06 2009
+***************
+*** 1151,1164 ****
+  
+      /* Check if we run into a recursive loop.  The item must be in lookupDict
+       * then and we can use it again. */
+!     sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, (long_u)our_tv);
+!     result = PyDict_GetItemString(lookupDict, ptrBuf);
+!     if (result != NULL)
+!      Py_INCREF(result);
+!     else if (our_tv->v_type == VAR_STRING)
+      {
+       result = Py_BuildValue("s", our_tv->vval.v_string);
+-      PyDict_SetItemString(lookupDict, ptrBuf, result);
+      }
+      else if (our_tv->v_type == VAR_NUMBER)
+      {
+--- 1151,1173 ----
+  
+      /* Check if we run into a recursive loop.  The item must be in lookupDict
+       * then and we can use it again. */
+!     if ((our_tv->v_type == VAR_LIST && our_tv->vval.v_list != NULL)
+!          || (our_tv->v_type == VAR_DICT && our_tv->vval.v_dict != NULL))
+!     {
+!      sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U,
+!              our_tv->v_type == VAR_LIST ? (long_u)our_tv->vval.v_list
+!                                         : (long_u)our_tv->vval.v_dict);
+!      result = PyDict_GetItemString(lookupDict, ptrBuf);
+!      if (result != NULL)
+!      {
+!          Py_INCREF(result);
+!          return result;
+!      }
+!     }
+! 
+!     if (our_tv->v_type == VAR_STRING)
+      {
+       result = Py_BuildValue("s", our_tv->vval.v_string);
+      }
+      else if (our_tv->v_type == VAR_NUMBER)
+      {
+***************
+*** 1167,1173 ****
+       /* For backwards compatibility numbers are stored as strings. */
+       sprintf(buf, "%ld", (long)our_tv->vval.v_number);
+       result = Py_BuildValue("s", buf);
+-      PyDict_SetItemString(lookupDict, ptrBuf, result);
+      }
+  # ifdef FEAT_FLOAT
+      else if (our_tv->v_type == VAR_FLOAT)
+--- 1176,1181 ----
+***************
+*** 1176,1182 ****
+  
+       sprintf(buf, "%f", our_tv->vval.v_float);
+       result = Py_BuildValue("s", buf);
+-      PyDict_SetItemString(lookupDict, ptrBuf, result);
+      }
+  # endif
+      else if (our_tv->v_type == VAR_LIST)
+--- 1184,1189 ----
+***************
+*** 1185,1194 ****
+       listitem_T      *curr;
+  
+       result = PyList_New(0);
+-      PyDict_SetItemString(lookupDict, ptrBuf, result);
+  
+       if (list != NULL)
+       {
+           for (curr = list->lv_first; curr != NULL; curr = curr->li_next)
+           {
+               newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict);
+--- 1192,1202 ----
+       listitem_T      *curr;
+  
+       result = PyList_New(0);
+  
+       if (list != NULL)
+       {
++          PyDict_SetItemString(lookupDict, ptrBuf, result);
++ 
+           for (curr = list->lv_first; curr != NULL; curr = curr->li_next)
+           {
+               newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict);
+***************
+*** 1200,1206 ****
+      else if (our_tv->v_type == VAR_DICT)
+      {
+       result = PyDict_New();
+-      PyDict_SetItemString(lookupDict, ptrBuf, result);
+  
+       if (our_tv->vval.v_dict != NULL)
+       {
+--- 1208,1213 ----
+***************
+*** 1209,1214 ****
+--- 1216,1223 ----
+           hashitem_T  *hi;
+           dictitem_T  *di;
+  
++          PyDict_SetItemString(lookupDict, ptrBuf, result);
++ 
+           for (hi = ht->ht_array; todo > 0; ++hi)
+           {
+               if (!HASHITEM_EMPTY(hi))
+*** ../vim-7.2.083/src/version.c       Tue Jan 13 17:27:18 2009
+--- src/version.c      Tue Jan 13 17:54:14 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     84,
+  /**/
+
+-- 
+Article in the first Free Software Magazine: "Bram Moolenaar studied electrical
+engineering at the Technical University of Delft and graduated in 1985 on a
+multi-processor Unix architecture."
+Response by "dimator": Could the school not afford a proper stage for the
+ceremony?
+
+ /// 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.2.085 b/7.2.085
new file mode 100644 (file)
index 0000000..f9828fa
--- /dev/null
+++ b/7.2.085
@@ -0,0 +1,62 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.085
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.085
+Problem:    ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8.
+Solution:   Put the <M-b> character in the input buffer as valid utf-8.
+           (partly by Matt Wosniski)
+Files:     src/term.c
+
+
+*** ../vim-7.2.084/src/term.c  Tue Jul 29 12:22:12 2008
+--- src/term.c Thu Jan 22 18:18:29 2009
+***************
+*** 4920,4926 ****
+       key_name[0] = KEY2TERMCAP0(key);
+       key_name[1] = KEY2TERMCAP1(key);
+       if (key_name[0] == KS_KEY)
+!          string[new_slen++] = key_name[1];   /* from ":set <M-b>=xx" */
+       else
+       {
+           string[new_slen++] = K_SPECIAL;
+--- 4920,4934 ----
+       key_name[0] = KEY2TERMCAP0(key);
+       key_name[1] = KEY2TERMCAP1(key);
+       if (key_name[0] == KS_KEY)
+!      {
+!          /* from ":set <M-b>=xx" */
+! #ifdef FEAT_MBYTE
+!          if (has_mbyte)
+!              new_slen += (*mb_char2bytes)(key_name[1], string + new_slen);
+!          else
+! #endif
+!              string[new_slen++] = key_name[1];
+!      }
+       else
+       {
+           string[new_slen++] = K_SPECIAL;
+*** ../vim-7.2.084/src/version.c       Tue Jan 13 18:10:21 2009
+--- src/version.c      Thu Jan 22 18:31:50 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     85,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+20. When looking at a pageful of someone else's links, you notice all of them
+    are already highlighted in purple.
+
+ /// 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.2.086 b/7.2.086
new file mode 100644 (file)
index 0000000..f55efbb
--- /dev/null
+++ b/7.2.086
@@ -0,0 +1,98 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.086
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.086
+Problem:    Using ":diffget 1" in buffer 1 corrupts the text.
+Solution:   Don't do anything when source and destination of ":diffget" or
+           ":diffput" is the same buffer. (Dominique Pelle)
+Files:     src/diff.c
+
+
+*** ../vim-7.2.085/src/diff.c  Sun Nov 30 15:15:56 2008
+--- src/diff.c Wed Jan 14 20:40:25 2009
+***************
+*** 8,14 ****
+   */
+  
+  /*
+!  * diff.c: code for diff'ing two or three buffers.
+   */
+  
+  #include "vim.h"
+--- 8,14 ----
+   */
+  
+  /*
+!  * diff.c: code for diff'ing two, three or four buffers.
+   */
+  
+  #include "vim.h"
+***************
+*** 116,122 ****
+   * Add a buffer to make diffs for.
+   * Call this when a new buffer is being edited in the current window where
+   * 'diff' is set.
+!  * Marks the current buffer as being part of the diff and requireing updating.
+   * This must be done before any autocmd, because a command may use info
+   * about the screen contents.
+   */
+--- 116,122 ----
+   * Add a buffer to make diffs for.
+   * Call this when a new buffer is being edited in the current window where
+   * 'diff' is set.
+!  * Marks the current buffer as being part of the diff and requiring updating.
+   * This must be done before any autocmd, because a command may use info
+   * about the screen contents.
+   */
+***************
+*** 929,935 ****
+       goto theend;
+  
+  #ifdef UNIX
+!     /* Temporaraly chdir to /tmp, to avoid patching files in the current
+       * directory when the patch file contains more than one patch.  When we
+       * have our own temp dir use that instead, it will be cleaned up when we
+       * exit (any .rej files created).  Don't change directory if we can't
+--- 929,935 ----
+       goto theend;
+  
+  #ifdef UNIX
+!     /* Temporarily chdir to /tmp, to avoid patching files in the current
+       * directory when the patch file contains more than one patch.  When we
+       * have our own temp dir use that instead, it will be cleaned up when we
+       * exit (any .rej files created).  Don't change directory if we can't
+***************
+*** 2129,2134 ****
+--- 2129,2136 ----
+           EMSG2(_("E102: Can't find buffer \"%s\""), eap->arg);
+           return;
+       }
++      if (buf == curbuf)
++          return;             /* nothing to do */
+       idx_other = diff_buf_idx(buf);
+       if (idx_other == DB_COUNT)
+       {
+*** ../vim-7.2.085/src/version.c       Thu Jan 22 18:32:55 2009
+--- src/version.c      Thu Jan 22 20:46:54 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     86,
+  /**/
+
+-- 
+Shift happens.
+                -- Doppler
+
+ /// 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.2.087 b/7.2.087
new file mode 100644 (file)
index 0000000..942acca
--- /dev/null
+++ b/7.2.087
@@ -0,0 +1,53 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.087
+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.2.087
+Problem:    Adding URL to 'path' doesn't work to edit a file.
+Solution:   Skip simplify_filename() for URLs. (Matt Wosniski)
+Files:     src/misc2.c
+
+
+*** ../vim-7.2.086/src/misc2.c Wed Dec 24 12:53:33 2008
+--- src/misc2.c        Sun Jan 18 12:26:20 2009
+***************
+*** 4696,4702 ****
+                               stackp->ffs_filearray_cur = i + 1;
+                               ff_push(search_ctx, stackp);
+  
+!                              simplify_filename(file_path);
+                               if (mch_dirname(ff_expand_buffer, MAXPATHL)
+                                                                       == OK)
+                               {
+--- 4696,4703 ----
+                               stackp->ffs_filearray_cur = i + 1;
+                               ff_push(search_ctx, stackp);
+  
+!                              if (!path_with_url(file_path))
+!                                  simplify_filename(file_path);
+                               if (mch_dirname(ff_expand_buffer, MAXPATHL)
+                                                                       == OK)
+                               {
+*** ../vim-7.2.086/src/version.c       Thu Jan 22 20:48:07 2009
+--- src/version.c      Thu Jan 22 21:30:36 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     87,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+21. Your dog has its own home page.
+
+ /// 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.2.088 b/7.2.088
new file mode 100644 (file)
index 0000000..1cb9851
--- /dev/null
+++ b/7.2.088
@@ -0,0 +1,99 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.088 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.088 (extra)
+Problem:    OpenClipboard() may fail when another application is using the
+           clipboard.
+Solution:   Retry OpenClipboard() a few times. (Jianrong Yu)
+Files:     src/os_mswin.c
+
+
+*** ../vim-7.2.087/src/os_mswin.c      Thu Nov 20 17:09:09 2008
+--- src/os_mswin.c     Thu Jan 22 18:38:12 2009
+***************
+*** 1224,1229 ****
+--- 1224,1248 ----
+  #endif /* FEAT_MBYTE */
+  
+  /*
++  * Wait for another process to Close the Clipboard.
++  * Returns TRUE for success.
++  */
++     int
++ vim_open_clipboard()
++ {
++     int delay = 10;
++ 
++     while (!OpenClipboard(NULL))
++     {
++         if (delay > 500)
++             return FALSE;  /* waited too long, give up */
++         Sleep(delay);
++         delay *= 2;  /* wait for 10, 20, 40, 80, etc. msec */
++     }
++     return TRUE;
++ }
++ 
++ /*
+   * Get the current selection and put it in the clipboard register.
+   *
+   * NOTE: Must use GlobalLock/Unlock here to ensure Win32s compatibility.
+***************
+*** 1254,1260 ****
+       * Don't pass GetActiveWindow() as an argument to OpenClipboard() because
+       * then we can't paste back into the same window for some reason - webb.
+       */
+!     if (!OpenClipboard(NULL))
+       return;
+  
+      /* Check for vim's own clipboard format first.  This only gets the type of
+--- 1273,1279 ----
+       * Don't pass GetActiveWindow() as an argument to OpenClipboard() because
+       * then we can't paste back into the same window for some reason - webb.
+       */
+!     if (!vim_open_clipboard())
+       return;
+  
+      /* Check for vim's own clipboard format first.  This only gets the type of
+***************
+*** 1562,1568 ****
+       * because then we can't paste back into the same window for some
+       * reason - webb.
+       */
+!     if (OpenClipboard(NULL))
+      {
+       if (EmptyClipboard())
+       {
+--- 1581,1587 ----
+       * because then we can't paste back into the same window for some
+       * reason - webb.
+       */
+!     if (vim_open_clipboard())
+      {
+       if (EmptyClipboard())
+       {
+*** ../vim-7.2.087/src/version.c       Thu Jan 22 21:31:24 2009
+--- src/version.c      Thu Jan 22 21:47:52 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     88,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+22. You've already visited all the links at Yahoo and you're halfway through
+    Lycos.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        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.2.089 b/7.2.089
new file mode 100644 (file)
index 0000000..74276c6
--- /dev/null
+++ b/7.2.089
@@ -0,0 +1,91 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.089 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.089 (extra)
+Problem:    Win32: crash when using Ultramon buttons.
+Solution:   Don't use a WM_OLE message of zero size. (Ray Megal)
+Files:     src/if_ole.cpp, src/gui_w48.c
+
+
+*** ../vim-7.2.088/src/if_ole.cpp      Sun Mar 16 14:53:11 2008
+--- src/if_ole.cpp     Mon Jan 19 21:16:33 2009
+***************
+*** 353,361 ****
+      }
+  
+      /* Pass the string to the main input loop. The memory will be freed when
+!      * the message is processed.
+       */
+!     PostMessage(NULL, WM_OLE, 0, (LPARAM)str);
+  
+      return S_OK;
+  }
+--- 353,365 ----
+      }
+  
+      /* Pass the string to the main input loop. The memory will be freed when
+!      * the message is processed.  Except for an empty message, we don't need
+!      * to post it then.
+       */
+!     if (*str == NUL)
+!      vim_free(str);
+!     else
+!      PostMessage(NULL, WM_OLE, 0, (LPARAM)str);
+  
+      return S_OK;
+  }
+*** ../vim-7.2.088/src/gui_w48.c       Wed Dec 24 12:20:10 2008
+--- src/gui_w48.c      Mon Jan 19 21:19:30 2009
+***************
+*** 1663,1670 ****
+      if (msg.message == WM_OLE)
+      {
+       char_u *str = (char_u *)msg.lParam;
+!      add_to_input_buf(str, (int)STRLEN(str));
+!      vim_free(str);
+       return;
+      }
+  #endif
+--- 1663,1679 ----
+      if (msg.message == WM_OLE)
+      {
+       char_u *str = (char_u *)msg.lParam;
+!      if (str == NULL || *str == NUL)
+!      {
+!          /* Message can't be ours, forward it.  Fixes problem with Ultramon
+!           * 3.0.4 */
+!          DispatchMessage(&msg);
+!      }
+!      else
+!      {
+!          add_to_input_buf(str, (int)STRLEN(str));
+!          vim_free(str);  /* was allocated in CVim::SendKeys() */
+!      }
+       return;
+      }
+  #endif
+*** ../vim-7.2.088/src/version.c       Thu Jan 22 21:49:21 2009
+--- src/version.c      Wed Jan 28 14:16:01 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     89,
+  /**/
+
+
+-- 
+How To Keep A Healthy Level Of Insanity:
+16. Have your coworkers address you by your wrestling name, Rock Hard Kim.
+
+ /// 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.2.090 b/7.2.090
new file mode 100644 (file)
index 0000000..59dd7ac
--- /dev/null
+++ b/7.2.090
@@ -0,0 +1,130 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.090
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.090
+Problem:    User command containing 0x80 in multi-byte character does not work
+           properly. (Yasuhiro Matsumoto)
+Solution:   Undo replacement of K_SPECIAL and CSI characters when executing
+           the command.
+Files:     src/ex_docmd.c
+
+
+*** ../vim-7.2.089/src/ex_docmd.c      Tue Dec  9 11:17:23 2008
+--- src/ex_docmd.c     Wed Jan 28 15:34:19 2009
+***************
+*** 5482,5487 ****
+--- 5482,5490 ----
+      return OK;
+  }
+  
++ /*
++  * ":command ..."
++  */
+      static void
+  ex_command(eap)
+      exarg_T   *eap;
+***************
+*** 5914,5919 ****
+--- 5917,5923 ----
+  
+      char_u   *start;
+      char_u   *end;
++     char_u   *ksp;
+      size_t   len, totlen;
+  
+      size_t   split_len = 0;
+***************
+*** 5930,5945 ****
+  
+      /*
+       * Replace <> in the command by the arguments.
+       */
+      buf = NULL;
+      for (;;)
+      {
+!      p = cmd->uc_rep;
+!      q = buf;
+       totlen = 0;
+!      while ((start = vim_strchr(p, '<')) != NULL
+!             && (end = vim_strchr(start + 1, '>')) != NULL)
+       {
+           /* Include the '>' */
+           ++end;
+  
+--- 5934,5984 ----
+  
+      /*
+       * Replace <> in the command by the arguments.
++      * First round: "buf" is NULL, compute length, allocate "buf".
++      * Second round: copy result into "buf".
+       */
+      buf = NULL;
+      for (;;)
+      {
+!      p = cmd->uc_rep;    /* source */
+!      q = buf;            /* destinateion */
+       totlen = 0;
+! 
+!      for (;;)
+       {
++          start = vim_strchr(p, '<');
++          if (start != NULL)
++              end = vim_strchr(start + 1, '>');
++          if (buf != NULL)
++          {
++              ksp = vim_strchr(p, K_SPECIAL);
++              if (ksp != NULL && (start == NULL || ksp < start || end == NULL)
++                      && ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER)
++ # ifdef FEAT_GUI
++                          || (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI)
++ # endif
++                          ))
++              {
++                  /* K_SPECIAL han been put in the buffer as K_SPECIAL
++                   * KS_SPECIAL KE_FILLER, like for mappings, but
++                   * do_cmdline() doesn't handle that, so convert it back.
++                   * Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */
++                  len = ksp - p;
++                  if (len > 0)
++                  {
++                      mch_memmove(q, p, len);
++                      q += len;
++                  }
++                  *q++ = ksp[1] == KS_SPECIAL ? K_SPECIAL : CSI;
++                  p = ksp + 3;
++                  continue;
++              }
++          }
++ 
++          /* break if there no <item> is found */
++          if (start == NULL || end == NULL)
++              break;
++ 
+           /* Include the '>' */
+           ++end;
+  
+*** ../vim-7.2.089/src/version.c       Wed Jan 28 14:17:21 2009
+--- src/version.c      Wed Jan 28 15:37:40 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     90,
+  /**/
+
+-- 
+How To Keep A Healthy Level Of Insanity:
+17. When the money comes out the ATM, scream "I won!, I won! 3rd
+    time this week!!!!!"
+
+ /// 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.2.091 b/7.2.091
new file mode 100644 (file)
index 0000000..766a155
--- /dev/null
+++ b/7.2.091
@@ -0,0 +1,63 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.091
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.091
+Problem:    ":cs help" output is not aligned for some languages.
+Solution:   Compute character size instead of byte size. (Dominique Pelle)
+Files:     src/if_cscope.c
+
+
+*** ../vim-7.2.090/src/if_cscope.c     Mon Aug 25 04:35:13 2008
+--- src/if_cscope.c    Thu Jan 22 18:44:46 2009
+***************
+*** 1177,1184 ****
+      (void)MSG_PUTS(_("cscope commands:\n"));
+      while (cmdp->name != NULL)
+      {
+!      (void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"),
+!                                    cmdp->name, _(cmdp->help), cmdp->usage);
+       if (strcmp(cmdp->name, "find") == 0)
+           MSG_PUTS(_("\n"
+                      "       c: Find functions calling this function\n"
+--- 1177,1192 ----
+      (void)MSG_PUTS(_("cscope commands:\n"));
+      while (cmdp->name != NULL)
+      {
+!      char *help = _(cmdp->help);
+!      int  space_cnt = 30 - vim_strsize((char_u *)help);
+! 
+!      /* Use %*s rather than %30s to ensure proper alignment in utf-8 */
+!      if (space_cnt < 0)
+!          space_cnt = 0;
+!      (void)smsg((char_u *)_("%-5s: %s%*s (Usage: %s)"),
+!                                    cmdp->name,
+!                                    help, space_cnt, " ",
+!                                    cmdp->usage);
+       if (strcmp(cmdp->name, "find") == 0)
+           MSG_PUTS(_("\n"
+                      "       c: Find functions calling this function\n"
+*** ../vim-7.2.090/src/version.c       Wed Jan 28 15:42:07 2009
+--- src/version.c      Wed Jan 28 16:02:25 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     91,
+  /**/
+
+-- 
+How To Keep A Healthy Level Of Insanity:
+18. When leaving the zoo, start running towards the parking lot,
+    yelling "run for your lives, they're loose!!"
+
+ /// 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.2.092 b/7.2.092
new file mode 100644 (file)
index 0000000..633903e
--- /dev/null
+++ b/7.2.092
@@ -0,0 +1,164 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.092
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.092
+Problem:    Some error messages are not translated.
+Solution:   Add _() around the messages. (Dominique Pelle)
+Files:     src/eval.c
+
+
+*** ../vim-7.2.091/src/eval.c  Sun Dec 21 13:02:47 2008
+--- src/eval.c Sat Jan 24 12:22:47 2009
+***************
+*** 7918,7926 ****
+      else if (!aborting())
+      {
+       if (argcount == MAX_FUNC_ARGS)
+!          emsg_funcname("E740: Too many arguments for function %s", name);
+       else
+!          emsg_funcname("E116: Invalid arguments for function %s", name);
+      }
+  
+      while (--argcount >= 0)
+--- 7918,7926 ----
+      else if (!aborting())
+      {
+       if (argcount == MAX_FUNC_ARGS)
+!          emsg_funcname(N_("E740: Too many arguments for function %s"), name);
+       else
+!          emsg_funcname(N_("E116: Invalid arguments for function %s"), name);
+      }
+  
+      while (--argcount >= 0)
+***************
+*** 8153,8158 ****
+--- 8153,8159 ----
+  
+  /*
+   * Give an error message with a function name.  Handle <SNR> things.
++  * "ermsg" is to be passed without translation, use N_() instead of _().
+   */
+      static void
+  emsg_funcname(ermsg, name)
+***************
+*** 19867,19873 ****
+               }
+           }
+           else
+!              emsg_funcname("E123: Undefined function: %s", name);
+       }
+       goto ret_free;
+      }
+--- 19868,19874 ----
+               }
+           }
+           else
+!              emsg_funcname(N_("E123: Undefined function: %s"), name);
+       }
+       goto ret_free;
+      }
+***************
+*** 19911,19917 ****
+                                                     : eval_isnamec(arg[j])))
+               ++j;
+           if (arg[j] != NUL)
+!              emsg_funcname(_(e_invarg2), arg);
+       }
+      }
+  
+--- 19912,19918 ----
+                                                     : eval_isnamec(arg[j])))
+               ++j;
+           if (arg[j] != NUL)
+!              emsg_funcname(e_invarg2, arg);
+       }
+      }
+  
+***************
+*** 20183,20189 ****
+       v = find_var(name, &ht);
+       if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+       {
+!          emsg_funcname("E707: Function name conflicts with variable: %s",
+                                                                       name);
+           goto erret;
+       }
+--- 20184,20190 ----
+       v = find_var(name, &ht);
+       if (v != NULL && v->di_tv.v_type == VAR_FUNC)
+       {
+!          emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
+                                                                       name);
+           goto erret;
+       }
+***************
+*** 20198,20204 ****
+           }
+           if (fp->uf_calls > 0)
+           {
+!              emsg_funcname("E127: Cannot redefine function %s: It is in use",
+                                                                       name);
+               goto erret;
+           }
+--- 20199,20205 ----
+           }
+           if (fp->uf_calls > 0)
+           {
+!              emsg_funcname(N_("E127: Cannot redefine function %s: It is in use"),
+                                                                       name);
+               goto erret;
+           }
+***************
+*** 21477,21483 ****
+  
+  /*
+   * Return TRUE if items in "fc" do not have "copyID".  That means they are not
+!  * referenced from anywyere.
+   */
+      static int
+  can_free_funccal(fc, copyID)
+--- 21478,21484 ----
+  
+  /*
+   * Return TRUE if items in "fc" do not have "copyID".  That means they are not
+!  * referenced from anywhere.
+   */
+      static int
+  can_free_funccal(fc, copyID)
+*** ../vim-7.2.091/src/version.c       Wed Jan 28 16:03:51 2009
+--- src/version.c      Wed Jan 28 19:05:47 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     92,
+  /**/
+
+
+-- 
+Now it is such a bizarrely improbable coincidence that anything as
+mind-bogglingly useful as the Babel fish could have evolved purely by chance
+that some thinkers have chosen to see it as a final and clinching proof of the
+NON-existence of God.
+The argument goes something like this: 'I refuse to prove that I exist,' says
+God, 'for proof denies faith, and without faith I am nothing.'
+'But,' says Man, 'the Babel fish is a dead giveaway, isn't it?  It could not
+have evolved by chance.  It proves you exist, and so therefore, by your own
+arguments, you don't.  QED.'
+'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a
+puff of logic.
+'Oh, that was easy,' says Man, and for an encore goes on to prove that black
+is white and gets himself killed on the next pedestrian crossing.
+               -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// 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.2.093 b/7.2.093
new file mode 100644 (file)
index 0000000..b0f4490
--- /dev/null
+++ b/7.2.093
@@ -0,0 +1,234 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.093 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.093 (extra)
+Problem:    Win32: inputdialog() and find/replace dialogs can't handle
+           multi-byte text.
+Solution:   Use the wide version of dialog functions when available. (Yanwei
+           Jia)
+Files:     src/gui_w32.c, src/gui_w48.c
+
+
+*** ../vim-7.2.092/src/gui_w32.c       Thu Nov 20 17:09:09 2008
+--- src/gui_w32.c      Wed Jan 28 21:15:29 2009
+***************
+*** 1582,1587 ****
+--- 1582,1598 ----
+      s_findrep_struct.lpstrReplaceWith[0] = NUL;
+      s_findrep_struct.wFindWhatLen = MSWIN_FR_BUFSIZE;
+      s_findrep_struct.wReplaceWithLen = MSWIN_FR_BUFSIZE;
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++     s_findrep_struct_w.lStructSize = sizeof(s_findrep_struct_w);
++     s_findrep_struct_w.lpstrFindWhat =
++                            (LPWSTR)alloc(MSWIN_FR_BUFSIZE * sizeof(WCHAR));
++     s_findrep_struct_w.lpstrFindWhat[0] = NUL;
++     s_findrep_struct_w.lpstrReplaceWith =
++                            (LPWSTR)alloc(MSWIN_FR_BUFSIZE * sizeof(WCHAR));
++     s_findrep_struct_w.lpstrReplaceWith[0] = NUL;
++     s_findrep_struct_w.wFindWhatLen = MSWIN_FR_BUFSIZE;
++     s_findrep_struct_w.wReplaceWithLen = MSWIN_FR_BUFSIZE;
++ # endif
+  #endif
+  
+  theend:
+***************
+*** 2938,2945 ****
+  
+       /* If the edit box exists, copy the string. */
+       if (s_textfield != NULL)
+!          GetDlgItemText(hwnd, DLG_NONBUTTON_CONTROL + 2,
+                                                        s_textfield, IOSIZE);
+  
+       /*
+        * Need to check for IDOK because if the user just hits Return to
+--- 2949,2975 ----
+  
+       /* If the edit box exists, copy the string. */
+       if (s_textfield != NULL)
+!      {
+! # if defined(FEAT_MBYTE) && defined(WIN3264)
+!          /* If the OS is Windows NT, and 'encoding' differs from active
+!           * codepage: use wide function and convert text. */
+!          if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
+!                  && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+!             {
+!             WCHAR  *wp = (WCHAR *)alloc(IOSIZE * sizeof(WCHAR));
+!             char_u *p;
+! 
+!             GetDlgItemTextW(hwnd, DLG_NONBUTTON_CONTROL + 2, wp, IOSIZE);
+!             p = utf16_to_enc(wp, NULL);
+!             vim_strncpy(s_textfield, p, IOSIZE);
+!             vim_free(p);
+!             vim_free(wp);
+!          }
+!          else
+! # endif
+!              GetDlgItemText(hwnd, DLG_NONBUTTON_CONTROL + 2,
+                                                        s_textfield, IOSIZE);
++      }
+  
+       /*
+        * Need to check for IDOK because if the user just hits Return to
+*** ../vim-7.2.092/src/gui_w48.c       Wed Jan 28 14:17:21 2009
+--- src/gui_w48.c      Wed Jan 28 21:10:26 2009
+***************
+*** 153,158 ****
+--- 153,161 ----
+  #ifdef MSWIN_FIND_REPLACE
+  static UINT          s_findrep_msg = 0;      /* set in gui_w[16/32].c */
+  static FINDREPLACE   s_findrep_struct;
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++ static FINDREPLACEW  s_findrep_struct_w;
++ # endif
+  static HWND          s_findrep_hwnd = NULL;
+  static int           s_findrep_is_find;      /* TRUE for find dialog, FALSE
+                                                  for find/replace dialog */
+***************
+*** 884,889 ****
+--- 887,931 ----
+  #endif
+  
+  #ifdef MSWIN_FIND_REPLACE
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++ /*
++  * copy useful data from structure LPFINDREPLACE to structure LPFINDREPLACEW
++  */
++     static void
++ findrep_atow(LPFINDREPLACEW lpfrw, LPFINDREPLACE lpfr)
++ {
++     WCHAR *wp;
++ 
++     lpfrw->hwndOwner = lpfr->hwndOwner;
++     lpfrw->Flags = lpfr->Flags;
++ 
++     wp = enc_to_utf16(lpfr->lpstrFindWhat, NULL);
++     wcsncpy(lpfrw->lpstrFindWhat, wp, lpfrw->wFindWhatLen - 1);
++     vim_free(wp);
++ 
++     /* the field "lpstrReplaceWith" doesn't need to be copied */
++ }
++ 
++ /*
++  * copy useful data from structure LPFINDREPLACEW to structure LPFINDREPLACE
++  */
++     static void
++ findrep_wtoa(LPFINDREPLACE lpfr, LPFINDREPLACEW lpfrw)
++ {
++     char_u *p;
++ 
++     lpfr->Flags = lpfrw->Flags;
++ 
++     p = utf16_to_enc(lpfrw->lpstrFindWhat, NULL);
++     vim_strncpy(lpfr->lpstrFindWhat, p, lpfr->wFindWhatLen - 1);
++     vim_free(p);
++ 
++     p = utf16_to_enc(lpfrw->lpstrReplaceWith, NULL);
++     vim_strncpy(lpfr->lpstrReplaceWith, p, lpfr->wReplaceWithLen - 1);
++     vim_free(p);
++ }
++ # endif
++ 
+  /*
+   * Handle a Find/Replace window message.
+   */
+***************
+*** 893,898 ****
+--- 935,950 ----
+      int          flags = 0;
+      int          down;
+  
++ # if defined(FEAT_MBYTE) && defined(WIN3264)
++     /* If the OS is Windows NT, and 'encoding' differs from active codepage:
++      * convert text from wide string. */
++     if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
++                      && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
++     {
++         findrep_wtoa(&s_findrep_struct, &s_findrep_struct_w);
++     }
++ # endif
++ 
+      if (s_findrep_struct.Flags & FR_DIALOGTERM)
+       /* Give main window the focus back. */
+       (void)SetFocus(s_hwnd);
+***************
+*** 2562,2568 ****
+       if (!IsWindow(s_findrep_hwnd))
+       {
+           initialise_findrep(eap->arg);
+!          s_findrep_hwnd = FindText((LPFINDREPLACE) &s_findrep_struct);
+       }
+  
+       set_window_title(s_findrep_hwnd,
+--- 2614,2632 ----
+       if (!IsWindow(s_findrep_hwnd))
+       {
+           initialise_findrep(eap->arg);
+! # if defined(FEAT_MBYTE) && defined(WIN3264)
+!          /* If the OS is Windows NT, and 'encoding' differs from active
+!           * codepage: convert text and use wide function. */
+!          if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
+!                  && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+!          {
+!              findrep_atow(&s_findrep_struct_w, &s_findrep_struct);
+!              s_findrep_hwnd = FindTextW(
+!                                      (LPFINDREPLACEW) &s_findrep_struct_w);
+!          }
+!          else
+! # endif
+!              s_findrep_hwnd = FindText((LPFINDREPLACE) &s_findrep_struct);
+       }
+  
+       set_window_title(s_findrep_hwnd,
+***************
+*** 2587,2593 ****
+       if (!IsWindow(s_findrep_hwnd))
+       {
+           initialise_findrep(eap->arg);
+!          s_findrep_hwnd = ReplaceText((LPFINDREPLACE) &s_findrep_struct);
+       }
+  
+       set_window_title(s_findrep_hwnd,
+--- 2651,2668 ----
+       if (!IsWindow(s_findrep_hwnd))
+       {
+           initialise_findrep(eap->arg);
+! # if defined(FEAT_MBYTE) && defined(WIN3264)
+!          if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT
+!                  && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+!          {
+!              findrep_atow(&s_findrep_struct_w, &s_findrep_struct);
+!              s_findrep_hwnd = ReplaceTextW(
+!                                      (LPFINDREPLACEW) &s_findrep_struct_w);
+!          }
+!          else
+! # endif
+!              s_findrep_hwnd = ReplaceText(
+!                                         (LPFINDREPLACE) &s_findrep_struct);
+       }
+  
+       set_window_title(s_findrep_hwnd,
+*** ../vim-7.2.092/src/version.c       Wed Jan 28 19:08:31 2009
+--- src/version.c      Wed Jan 28 21:19:56 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     93,
+  /**/
+
+-- 
+I'm not familiar with this proof, but I'm aware of a significant
+following of toddlers who believe that peanut butter is the solution
+to all of life's problems...           -- Tim Hammerquist
+
+ /// 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.2.094 b/7.2.094
new file mode 100644 (file)
index 0000000..bc79fa5
--- /dev/null
+++ b/7.2.094
@@ -0,0 +1,112 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.094
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.094
+Problem:    Compiler warning for signed/unsigned compare.
+Solution:   Add type cast.  Also fix a few typos.
+Files:     src/edit.c
+
+
+*** ../vim-7.2.093/src/edit.c  Tue Jan 13 12:29:03 2009
+--- src/edit.c Wed Jan 28 21:13:51 2009
+***************
+*** 1958,1963 ****
+--- 1958,1964 ----
+   * Only matters when there are composing characters.
+   * Return TRUE when something was deleted.
+   */
++ /*ARGSUSED*/
+     static int
+  del_char_after_col(limit_col)
+      int limit_col;
+***************
+*** 1971,1977 ****
+        * skip forward again when going too far back because of a
+        * composing character. */
+       mb_adjust_cursor();
+!      while (curwin->w_cursor.col < limit_col)
+       {
+           int l = utf_ptr2len(ml_get_cursor());
+  
+--- 1972,1978 ----
+        * skip forward again when going too far back because of a
+        * composing character. */
+       mb_adjust_cursor();
+!      while (curwin->w_cursor.col < (colnr_T)limit_col)
+       {
+           int l = utf_ptr2len(ml_get_cursor());
+  
+***************
+*** 4240,4246 ****
+       }
+  
+       /* check if compl_curr_match has changed, (e.g. other type of
+!       * expansion added somenthing) */
+       if (type != 0 && compl_curr_match != old_match)
+           found_new_match = OK;
+  
+--- 4241,4247 ----
+       }
+  
+       /* check if compl_curr_match has changed, (e.g. other type of
+!       * expansion added something) */
+       if (type != 0 && compl_curr_match != old_match)
+           found_new_match = OK;
+  
+***************
+*** 4741,4747 ****
+               }
+               compl_length = curwin->w_cursor.col - (int)compl_col;
+               /* IObuff is used to add a "word from the next line" would we
+!               * have enough space?  just being paranoic */
+  #define      MIN_SPACE 75
+               if (compl_length > (IOSIZE - MIN_SPACE))
+               {
+--- 4742,4748 ----
+               }
+               compl_length = curwin->w_cursor.col - (int)compl_col;
+               /* IObuff is used to add a "word from the next line" would we
+!               * have enough space?  just being paranoid */
+  #define      MIN_SPACE 75
+               if (compl_length > (IOSIZE - MIN_SPACE))
+               {
+***************
+*** 8206,8212 ****
+  /*
+   * If the cursor is on an indent, ^T/^D insert/delete one
+   * shiftwidth.       Otherwise ^T/^D behave like a "<<" or ">>".
+!  * Always round the indent to 'shiftwith', this is compatible
+   * with vi.  But vi only supports ^T and ^D after an
+   * autoindent, we support it everywhere.
+   */
+--- 8207,8213 ----
+  /*
+   * If the cursor is on an indent, ^T/^D insert/delete one
+   * shiftwidth.       Otherwise ^T/^D behave like a "<<" or ">>".
+!  * Always round the indent to 'shiftwidth', this is compatible
+   * with vi.  But vi only supports ^T and ^D after an
+   * autoindent, we support it everywhere.
+   */
+*** ../vim-7.2.093/src/version.c       Wed Jan 28 21:22:20 2009
+--- src/version.c      Wed Feb  4 11:17:02 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     94,
+  /**/
+
+-- 
+Despite the cost of living, have you noticed how it remains so popular?
+
+ /// 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.2.095 b/7.2.095
new file mode 100644 (file)
index 0000000..c69cadb
--- /dev/null
+++ b/7.2.095
@@ -0,0 +1,63 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.095
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.095
+Problem:    With Visual selection, "r" and then CTRL-C Visual mode is stopped
+           but the highlighting is not removed.
+Solution:   Call reset_VIsual().
+Files:     src/normal.c
+
+
+*** ../vim-7.2.094/src/normal.c        Thu Nov 20 16:11:03 2008
+--- src/normal.c       Fri Jan 30 20:37:01 2009
+***************
+*** 6783,6788 ****
+--- 6783,6790 ----
+      /* Visual mode "r" */
+      if (VIsual_active)
+      {
++      if (got_int)
++          reset_VIsual();
+       nv_operator(cap);
+       return;
+      }
+***************
+*** 7839,7845 ****
+       else
+           i = curwin->w_leftcol;
+       /* Go to the middle of the screen line.  When 'number' is on and lines
+!       * are wrapping the middle can be more to the left.*/
+       if (cap->nchar == 'm')
+           i += (W_WIDTH(curwin) - curwin_col_off()
+                   + ((curwin->w_p_wrap && i > 0)
+--- 7841,7847 ----
+       else
+           i = curwin->w_leftcol;
+       /* Go to the middle of the screen line.  When 'number' is on and lines
+!       * are wrapping the middle can be more to the left. */
+       if (cap->nchar == 'm')
+           i += (W_WIDTH(curwin) - curwin_col_off()
+                   + ((curwin->w_p_wrap && i > 0)
+*** ../vim-7.2.094/src/version.c       Wed Feb  4 11:19:40 2009
+--- src/version.c      Wed Feb  4 11:43:28 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     95,
+  /**/
+
+-- 
+Nothing is fool-proof to a sufficiently talented fool.
+
+ /// 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.2.096 b/7.2.096
new file mode 100644 (file)
index 0000000..e286ca9
--- /dev/null
+++ b/7.2.096
@@ -0,0 +1,54 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.096
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.096
+Problem:    After ":number" the "Press Enter" message may be on the wrong
+           screen, if switching screens for shell commands.
+Solution:   Reset info_message. (James Vega)
+Files:     src/ex_cmds.c
+
+
+*** ../vim-7.2.095/src/ex_cmds.c       Tue Jan 13 16:57:09 2009
+--- src/ex_cmds.c      Fri Jan 30 21:01:54 2009
+***************
+*** 2417,2424 ****
+       cursor_on();            /* msg_start() switches it off */
+       out_flush();
+       silent_mode = save_silent;
+-      info_message = FALSE;
+      }
+  }
+  
+  /*
+--- 2417,2424 ----
+       cursor_on();            /* msg_start() switches it off */
+       out_flush();
+       silent_mode = save_silent;
+      }
++     info_message = FALSE;
+  }
+  
+  /*
+*** ../vim-7.2.095/src/version.c       Wed Feb  4 11:45:28 2009
+--- src/version.c      Wed Feb  4 13:12:55 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     96,
+  /**/
+
+-- 
+A fine is a tax for doing wrong.  A tax is a fine for doing well.
+
+ /// 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.2.097 b/7.2.097
new file mode 100644 (file)
index 0000000..ac72d5d
--- /dev/null
+++ b/7.2.097
@@ -0,0 +1,54 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.097
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.097
+Problem:    "!xterm&" doesn't work when 'shell' is "bash".
+Solution:   Ignore SIGHUP after calling setsid(). (Simon Schubert) 
+Files:     src/os_unix.c
+
+
+*** ../vim-7.2.096/src/os_unix.c       Fri Nov 28 21:26:50 2008
+--- src/os_unix.c      Wed Feb  4 12:09:55 2009
+***************
+*** 3950,3956 ****
+--- 3950,3966 ----
+                * children can be kill()ed.  Don't do this when using pipes,
+                * because stdin is not a tty, we would lose /dev/tty. */
+               if (p_stmp)
++              {
+                   (void)setsid();
++ #  if defined(SIGHUP)
++                  /* When doing "!xterm&" and 'shell' is bash: the shell
++                   * will exit and send SIGHUP to all processes in its
++                   * group, killing the just started process.  Ignore SIGHUP
++                   * to avoid that. (suggested by Simon Schubert)
++                   */
++                  signal(SIGHUP, SIG_IGN);
++ #  endif
++              }
+  # endif
+  # ifdef FEAT_GUI
+               if (pty_slave_fd >= 0)
+*** ../vim-7.2.096/src/version.c       Wed Feb  4 13:13:42 2009
+--- src/version.c      Wed Feb  4 14:16:37 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     97,
+  /**/
+
+-- 
+It was recently discovered that research causes cancer in rats.
+
+ /// 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.2.098 b/7.2.098
new file mode 100644 (file)
index 0000000..eed0a65
--- /dev/null
+++ b/7.2.098
@@ -0,0 +1,69 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.098
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.098
+Problem:    Warning for signed/unsigned pointer.
+Solution:   Add type cast.
+Files:     src/eval.c
+
+
+*** ../vim-7.2.097/src/eval.c  Wed Jan 28 19:08:31 2009
+--- src/eval.c Wed Feb  4 13:09:01 2009
+***************
+*** 3928,3934 ****
+  
+  /*
+   * Handle top level expression:
+!  *   expr1 ? expr0 : expr0
+   *
+   * "arg" must point to the first non-white of the expression.
+   * "arg" is advanced to the next non-white after the recognized expression.
+--- 3928,3934 ----
+  
+  /*
+   * Handle top level expression:
+!  *   expr2 ? expr1 : expr1
+   *
+   * "arg" must point to the first non-white of the expression.
+   * "arg" is advanced to the next non-white after the recognized expression.
+***************
+*** 19912,19918 ****
+                                                     : eval_isnamec(arg[j])))
+               ++j;
+           if (arg[j] != NUL)
+!              emsg_funcname(e_invarg2, arg);
+       }
+      }
+  
+--- 19912,19918 ----
+                                                     : eval_isnamec(arg[j])))
+               ++j;
+           if (arg[j] != NUL)
+!              emsg_funcname((char *)e_invarg2, arg);
+       }
+      }
+  
+*** ../vim-7.2.097/src/version.c       Wed Feb  4 14:18:44 2009
+--- src/version.c      Wed Feb  4 16:24:06 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     98,
+  /**/
+
+-- 
+Everybody lies, but it doesn't matter since nobody listens.
+                                -- Lieberman's Law
+
+ /// 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.2.099 b/7.2.099
new file mode 100644 (file)
index 0000000..6f5dae5
--- /dev/null
+++ b/7.2.099
@@ -0,0 +1,127 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.099
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.099
+Problem:    Changing GUI options causes an unnecessary redraw when the GUI
+           isn't active.
+Solution:   Avoid the redraw. (Lech Lorens)
+Files:     src/option.c
+
+
+*** ../vim-7.2.098/src/option.c        Wed Dec 24 12:53:33 2008
+--- src/option.c       Wed Feb  4 16:59:56 2009
+***************
+*** 5407,5412 ****
+--- 5407,5416 ----
+      int              did_chartab = FALSE;
+      char_u   **gvarp;
+      long_u   free_oldval = (options[opt_idx].flags & P_ALLOCED);
++ #ifdef FEAT_GUI
++     /* set when changing an option that only requires a redraw in the GUI */
++     int              redraw_gui_only = FALSE;
++ #endif
+  
+      /* Get the global option to compare with, otherwise we would have to check
+       * two values for all local options. */
+***************
+*** 6055,6060 ****
+--- 6059,6065 ----
+                   errmsg = (char_u *)N_("E596: Invalid font(s)");
+           }
+       }
++      redraw_gui_only = TRUE;
+      }
+  # ifdef FEAT_XFONTSET
+      else if (varp == &p_guifontset)
+***************
+*** 6063,6068 ****
+--- 6068,6074 ----
+           errmsg = (char_u *)N_("E597: can't select fontset");
+       else if (gui.in_use && gui_init_font(p_guifontset, TRUE) != OK)
+           errmsg = (char_u *)N_("E598: Invalid fontset");
++      redraw_gui_only = TRUE;
+      }
+  # endif
+  # ifdef FEAT_MBYTE
+***************
+*** 6072,6077 ****
+--- 6078,6084 ----
+           errmsg = (char_u *)N_("E533: can't select wide font");
+       else if (gui_get_wide_font() == FAIL)
+           errmsg = (char_u *)N_("E534: Invalid wide font");
++      redraw_gui_only = TRUE;
+      }
+  # endif
+  #endif
+***************
+*** 6133,6145 ****
+--- 6140,6163 ----
+  #ifdef FEAT_GUI
+      /* 'guioptions' */
+      else if (varp == &p_go)
++     {
+       gui_init_which_components(oldval);
++      redraw_gui_only = TRUE;
++     }
+  #endif
+  
+  #if defined(FEAT_GUI_TABLINE)
+      /* 'guitablabel' */
+      else if (varp == &p_gtl)
++     {
+       redraw_tabline = TRUE;
++      redraw_gui_only = TRUE;
++     }
++     /* 'guitabtooltip' */
++     else if (varp == &p_gtt)
++     {
++      redraw_gui_only = TRUE;
++     }
+  #endif
+  
+  #if defined(FEAT_MOUSE_TTY) && (defined(UNIX) || defined(VMS))
+***************
+*** 6717,6723 ****
+  
+      if (curwin->w_curswant != MAXCOL)
+       curwin->w_set_curswant = TRUE;  /* in case 'showbreak' changed */
+!     check_redraw(options[opt_idx].flags);
+  
+      return errmsg;
+  }
+--- 6735,6745 ----
+  
+      if (curwin->w_curswant != MAXCOL)
+       curwin->w_set_curswant = TRUE;  /* in case 'showbreak' changed */
+! #ifdef FEAT_GUI
+!     /* check redraw when it's not a GUI option or the GUI is active. */
+!     if (!redraw_gui_only || gui.in_use)
+! #endif
+!      check_redraw(options[opt_idx].flags);
+  
+      return errmsg;
+  }
+*** ../vim-7.2.098/src/version.c       Wed Feb  4 16:25:53 2009
+--- src/version.c      Wed Feb  4 17:24:11 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     99,
+  /**/
+
+-- 
+I started out with nothing, and I still have most of it.
+                                -- Michael Davis -- "Tonight Show"
+
+ /// 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.2.100 b/7.2.100
new file mode 100644 (file)
index 0000000..0099edb
--- /dev/null
+++ b/7.2.100
@@ -0,0 +1,132 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.100
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.100
+Problem:    When using ":source" on a FIFO or something else that can't rewind
+           the first three bytes are skipped.
+Solution:   Instead of rewinding read the first line and detect a BOM in that.
+           (mostly by James Vega)
+Files:     src/ex_cmds2.c
+
+
+*** ../vim-7.2.099/src/ex_cmds2.c      Sat Nov 15 14:10:23 2008
+--- src/ex_cmds2.c     Wed Feb  4 16:05:51 2009
+***************
+*** 2842,2847 ****
+--- 2842,2848 ----
+      linenr_T             save_sourcing_lnum;
+      char_u               *p;
+      char_u               *fname_exp;
++     char_u               *firstline = NULL;
+      int                          retval = FAIL;
+  #ifdef FEAT_EVAL
+      scid_T               save_current_SID;
+***************
+*** 2992,3014 ****
+  
+      cookie.level = ex_nesting_level;
+  #endif
+- #ifdef FEAT_MBYTE
+-     cookie.conv.vc_type = CONV_NONE;         /* no conversion */
+- 
+-     /* Try reading the first few bytes to check for a UTF-8 BOM. */
+-     {
+-      char_u      buf[3];
+- 
+-      if (fread((char *)buf, sizeof(char_u), (size_t)3, cookie.fp)
+-                                                                == (size_t)3
+-              && buf[0] == 0xef && buf[1] == 0xbb && buf[2] == 0xbf)
+-          /* Found BOM, setup conversion and skip over it. */
+-          convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc);
+-      else
+-          /* No BOM found, rewind. */
+-          fseek(cookie.fp, 0L, SEEK_SET);
+-     }
+- #endif
+  
+      /*
+       * Keep the sourcing name/lnum, for recursive calls.
+--- 2993,2998 ----
+***************
+*** 3018,3023 ****
+--- 3002,3026 ----
+      save_sourcing_lnum = sourcing_lnum;
+      sourcing_lnum = 0;
+  
++ #ifdef FEAT_MBYTE
++     cookie.conv.vc_type = CONV_NONE;         /* no conversion */
++ 
++     /* Read the first line so we can check for a UTF-8 BOM. */
++     firstline = getsourceline(0, (void *)&cookie, 0);
++     if (firstline != NULL && STRLEN(firstline) >= 3 && firstline[0] == 0xef
++                            && firstline[1] == 0xbb && firstline[2] == 0xbf)
++     {
++      /* Found BOM; setup conversion, skip over BOM and recode the line. */
++      convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc);
++      p = string_convert(&cookie.conv, firstline + 3, NULL);
++      if (p != NULL)
++      {
++          vim_free(firstline);
++          firstline = p;
++      }
++     }
++ #endif
++ 
+  #ifdef STARTUPTIME
+      time_push(&tv_rel, &tv_start);
+  #endif
+***************
+*** 3111,3119 ****
+      /*
+       * Call do_cmdline, which will call getsourceline() to get the lines.
+       */
+!     do_cmdline(NULL, getsourceline, (void *)&cookie,
+                                    DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_REPEAT);
+- 
+      retval = OK;
+  
+  #ifdef FEAT_PROFILE
+--- 3114,3121 ----
+      /*
+       * Call do_cmdline, which will call getsourceline() to get the lines.
+       */
+!     do_cmdline(firstline, getsourceline, (void *)&cookie,
+                                    DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_REPEAT);
+      retval = OK;
+  
+  #ifdef FEAT_PROFILE
+***************
+*** 3171,3176 ****
+--- 3173,3179 ----
+  #endif
+      fclose(cookie.fp);
+      vim_free(cookie.nextline);
++     vim_free(firstline);
+  #ifdef FEAT_MBYTE
+      convert_setup(&cookie.conv, NULL, NULL);
+  #endif
+*** ../vim-7.2.099/src/version.c       Wed Feb  4 17:27:50 2009
+--- src/version.c      Wed Feb  4 17:48:47 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     100,
+  /**/
+
+-- 
+Well, you come from nothing, you go back to nothing...  What have you
+lost?  Nothing!
+                               -- Monty Python: The life of Brian
+
+ /// 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.2.101 b/7.2.101
new file mode 100644 (file)
index 0000000..e3526ca
--- /dev/null
+++ b/7.2.101
@@ -0,0 +1,47 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.101 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.101 (extra)
+Problem:    MSVC version not recognized.
+Solution:   Add the version number to the list.  (Zhong Zhang)
+Files:     src/Make_mvc.mak
+
+
+*** ../vim-7.2.100/src/Make_mvc.mak    Thu Jul 24 20:49:58 2008
+--- src/Make_mvc.mak   Wed Feb  4 18:32:47 2009
+***************
+*** 354,359 ****
+--- 354,362 ----
+  !if "$(_NMAKE_VER)" == "9.00.21022.08"
+  MSVCVER = 9.0
+  !endif
++ !if "$(_NMAKE_VER)" == "9.00.30729.01"
++ MSVCVER = 9.0
++ !endif
+  !endif
+  
+  # Abort bulding VIM if version of VC is unrecognised.
+*** ../vim-7.2.100/src/version.c       Wed Feb  4 17:49:46 2009
+--- src/version.c      Wed Feb  4 18:34:12 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     101,
+  /**/
+
+-- 
+Light travels faster than sound.  This is why some people
+appear bright until you hear them speak
+
+ /// 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.2.102 b/7.2.102
new file mode 100644 (file)
index 0000000..316c32b
--- /dev/null
+++ b/7.2.102
@@ -0,0 +1,47 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.102
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.102 (after 7.2.100)
+Problem:    When 'encoding' is "utf-8" a BOM at the start of a Vim script is
+           not removed. (Tony Mechelynck)
+Solution:   When no conversion is taking place make a copy of the line without
+           the BOM.
+Files:     src/ex_cmds2.c
+
+
+*** ../vim-7.2.101/src/ex_cmds2.c      Wed Feb  4 17:49:46 2009
+--- src/ex_cmds2.c     Thu Feb  5 20:41:56 2009
+***************
+*** 3013,3018 ****
+--- 3013,3020 ----
+       /* Found BOM; setup conversion, skip over BOM and recode the line. */
+       convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc);
+       p = string_convert(&cookie.conv, firstline + 3, NULL);
++      if (p == NULL)
++          p = vim_strsave(firstline + 3);
+       if (p != NULL)
+       {
+           vim_free(firstline);
+*** ../vim-7.2.101/src/version.c       Wed Feb  4 18:34:54 2009
+--- src/version.c      Thu Feb  5 20:44:55 2009
+***************
+*** 678,679 ****
+--- 678,681 ----
+  {   /* Add new patch number below this line */
++ /**/
++     102,
+  /**/
+
+-- 
+CVS sux, men don't like commitment
+
+ /// 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.118614 seconds and 4 git commands to generate.