]> git.pld-linux.org Git - packages/vim.git/commitdiff
- up to 7.2.394; ruby1.9 support seems to be in new patches auto/th/vim-7_2_394-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 14 Mar 2010 20:45:44 +0000 (20:45 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    7.2.357 -> 1.1
    7.2.358 -> 1.1
    7.2.359 -> 1.1
    7.2.360 -> 1.1
    7.2.361 -> 1.1
    7.2.362 -> 1.1
    7.2.363 -> 1.1
    7.2.364 -> 1.1
    7.2.365 -> 1.1
    7.2.366 -> 1.1
    7.2.367 -> 1.1
    7.2.368 -> 1.1
    7.2.369 -> 1.1
    7.2.370 -> 1.1
    7.2.371 -> 1.1
    7.2.372 -> 1.1
    7.2.373 -> 1.1
    7.2.374 -> 1.1
    7.2.375 -> 1.1
    7.2.376 -> 1.1
    7.2.377 -> 1.1
    7.2.378 -> 1.1
    7.2.379 -> 1.1
    7.2.380 -> 1.1
    7.2.381 -> 1.1
    7.2.382 -> 1.1
    7.2.383 -> 1.1
    7.2.384 -> 1.1
    7.2.385 -> 1.1
    7.2.386 -> 1.1
    7.2.387 -> 1.1
    7.2.388 -> 1.1
    7.2.389 -> 1.1
    7.2.390 -> 1.1
    7.2.391 -> 1.1
    7.2.392 -> 1.1
    7.2.393 -> 1.1
    7.2.394 -> 1.1
    vim-ruby1.9.patch -> 1.3
    vim.spec -> 1.500

40 files changed:
7.2.357 [new file with mode: 0644]
7.2.358 [new file with mode: 0644]
7.2.359 [new file with mode: 0644]
7.2.360 [new file with mode: 0644]
7.2.361 [new file with mode: 0644]
7.2.362 [new file with mode: 0644]
7.2.363 [new file with mode: 0644]
7.2.364 [new file with mode: 0644]
7.2.365 [new file with mode: 0644]
7.2.366 [new file with mode: 0644]
7.2.367 [new file with mode: 0644]
7.2.368 [new file with mode: 0644]
7.2.369 [new file with mode: 0644]
7.2.370 [new file with mode: 0644]
7.2.371 [new file with mode: 0644]
7.2.372 [new file with mode: 0644]
7.2.373 [new file with mode: 0644]
7.2.374 [new file with mode: 0644]
7.2.375 [new file with mode: 0644]
7.2.376 [new file with mode: 0644]
7.2.377 [new file with mode: 0644]
7.2.378 [new file with mode: 0644]
7.2.379 [new file with mode: 0644]
7.2.380 [new file with mode: 0644]
7.2.381 [new file with mode: 0644]
7.2.382 [new file with mode: 0644]
7.2.383 [new file with mode: 0644]
7.2.384 [new file with mode: 0644]
7.2.385 [new file with mode: 0644]
7.2.386 [new file with mode: 0644]
7.2.387 [new file with mode: 0644]
7.2.388 [new file with mode: 0644]
7.2.389 [new file with mode: 0644]
7.2.390 [new file with mode: 0644]
7.2.391 [new file with mode: 0644]
7.2.392 [new file with mode: 0644]
7.2.393 [new file with mode: 0644]
7.2.394 [new file with mode: 0644]
vim-ruby1.9.patch [deleted file]
vim.spec

diff --git a/7.2.357 b/7.2.357
new file mode 100644 (file)
index 0000000..e1998a8
--- /dev/null
+++ b/7.2.357
@@ -0,0 +1,49 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.357
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.357
+Problem:    When changing 'fileformat' from/to "mac" and there is a CR in the
+           text the display is wrong.
+Solution:   Redraw the text when 'fileformat' is changed. (Ben Schmidt)
+Files:     src/option.c
+
+
+*** ../vim-7.2.356/src/option.c        2010-01-27 15:57:17.000000000 +0100
+--- src/option.c       2010-02-11 16:57:19.000000000 +0100
+***************
+*** 5867,5872 ****
+--- 5867,5876 ----
+  #endif
+           /* update flag in swap file */
+           ml_setflags(curbuf);
++          /* Redraw needed when switching to/from "mac": a CR in the text
++           * will be displayed differently. */
++          if (get_fileformat(curbuf) == EOL_MAC || *oldval == 'm')
++              redraw_curbuf_later(NOT_VALID);
+       }
+      }
+  
+*** ../vim-7.2.356/src/version.c       2010-02-03 18:14:41.000000000 +0100
+--- src/version.c      2010-02-11 17:01:36.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     357,
+  /**/
+
+-- 
+From the classified section of a city newspaper:
+Dog for sale: eats anything and is fond of children.
+
+ /// 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.358 b/7.2.358
new file mode 100644 (file)
index 0000000..524049d
--- /dev/null
+++ b/7.2.358
@@ -0,0 +1,78 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.358
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.358
+Problem:    Compiler warnings on VMS. (Zoltan Arpadffy)
+Solution:   Pass array itself instead its address.  Return a value.
+Files:     src/gui_gtk_x11.c, src/os_unix.c
+
+
+*** ../vim-7.2.357/src/gui_gtk_x11.c   2009-11-03 18:13:36.000000000 +0100
+--- src/gui_gtk_x11.c  2010-02-11 18:00:28.000000000 +0100
+***************
+*** 6190,6196 ****
+               int pcc[MAX_MCO];
+  
+               /* TODO: use the composing characters */
+!              c = utfc_ptr2char_len(p, &pcc, len - (p - s));
+               if (c >= 0x10000)       /* show chars > 0xffff as ? */
+                   c = 0xbf;
+               buf[textlen].byte1 = c >> 8;
+--- 6190,6196 ----
+               int pcc[MAX_MCO];
+  
+               /* TODO: use the composing characters */
+!              c = utfc_ptr2char_len(p, pcc, len - (p - s));
+               if (c >= 0x10000)       /* show chars > 0xffff as ? */
+                   c = 0xbf;
+               buf[textlen].byte1 = c >> 8;
+*** ../vim-7.2.357/src/os_unix.c       2009-07-22 13:27:50.000000000 +0200
+--- src/os_unix.c      2010-02-11 18:10:20.000000000 +0100
+***************
+*** 1471,1476 ****
+--- 1471,1479 ----
+  {
+      /* This function should not return, it causes exit().  Longjump instead. */
+      LONGJMP(lc_jump_env, 1);
++ #  ifdef VMS
++     return 0;  /* avoid the compiler complains about missing return value */
++ #  endif
+  }
+  # endif
+  
+***************
+*** 1490,1495 ****
+--- 1493,1501 ----
+  
+      /* This function should not return, it causes exit().  Longjump instead. */
+      LONGJMP(x_jump_env, 1);
++ # ifdef VMS
++     return 0;  /* avoid the compiler complains about missing return value */
++ # endif
+  }
+  #endif
+  
+*** ../vim-7.2.357/src/version.c       2010-02-11 17:02:04.000000000 +0100
+--- src/version.c      2010-02-11 18:10:45.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     358,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+221. Your wife melts your keyboard in the oven.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        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.359 b/7.2.359
new file mode 100644 (file)
index 0000000..eb7ade2
--- /dev/null
+++ b/7.2.359
@@ -0,0 +1,68 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.359
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.359
+Problem:    Crash when using the Netbeans join command.
+Solution:   Make sure the ml_flush_line() function is not used recursively.
+           (Xavier de Gaye)
+Files:     src/memline.c
+
+
+*** ../vim-7.2.358/src/memline.c       2009-11-17 17:13:03.000000000 +0100
+--- src/memline.c      2010-02-11 18:47:48.000000000 +0100
+***************
+*** 3087,3098 ****
+--- 3087,3105 ----
+      int              start;
+      int              count;
+      int              i;
++     static int  entered = FALSE;
+  
+      if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL)
+       return;         /* nothing to do */
+  
+      if (buf->b_ml.ml_flags & ML_LINE_DIRTY)
+      {
++      /* This code doesn't work recursively, but Netbeans may call back here
++       * when obtaining the cursor position. */
++      if (entered)
++          return;
++      entered = TRUE;
++ 
+       lnum = buf->b_ml.ml_line_lnum;
+       new_line = buf->b_ml.ml_line_ptr;
+  
+***************
+*** 3160,3165 ****
+--- 3167,3174 ----
+           }
+       }
+       vim_free(new_line);
++ 
++      entered = FALSE;
+      }
+  
+      buf->b_ml.ml_line_lnum = 0;
+*** ../vim-7.2.358/src/version.c       2010-02-11 18:19:32.000000000 +0100
+--- src/version.c      2010-02-11 18:53:55.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     359,
+  /**/
+
+-- 
+Your fault: core dumped
+
+ /// 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.360 b/7.2.360
new file mode 100644 (file)
index 0000000..7cf4620
--- /dev/null
+++ b/7.2.360
@@ -0,0 +1,96 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.360
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.360
+Problem:    Ruby on MS-Windows: can't use sockets.
+Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)
+Files:     src/if_ruby.c
+
+
+*** ../vim-7.2.359/src/if_ruby.c       2009-05-22 18:20:23.000000000 +0200
+--- src/if_ruby.c      2010-02-17 15:04:00.000000000 +0100
+***************
+*** 48,53 ****
+--- 48,58 ----
+  # endif
+  #endif
+  
++ /* suggested by Ariya Mizutani */
++ #if (_MSC_VER == 1200)
++ # undef _WIN32_WINNT
++ #endif
++ 
+  #include <ruby.h>
+  
+  #undef EXTERN
+***************
+*** 132,137 ****
+--- 137,143 ----
+  #define ruby_errinfo                 (*dll_ruby_errinfo)
+  #define ruby_init                    dll_ruby_init
+  #define ruby_init_loadpath           dll_ruby_init_loadpath
++ #define NtInitialize                 dll_NtInitialize
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+  # define rb_w32_snprintf             dll_rb_w32_snprintf
+  #endif
+***************
+*** 186,191 ****
+--- 192,198 ----
+  static VALUE *dll_ruby_errinfo;
+  static void (*dll_ruby_init) (void);
+  static void (*dll_ruby_init_loadpath) (void);
++ static void (*dll_NtInitialize) (int*, char***);
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+  static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
+  #endif
+***************
+*** 248,253 ****
+--- 255,261 ----
+      {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
+      {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
+      {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
++     {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize},
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+      {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
+  #endif
+***************
+*** 414,419 ****
+--- 422,433 ----
+       if (ruby_enabled(TRUE))
+       {
+  #endif
++ #ifdef _WIN32
++          /* suggested by Ariya Mizutani */
++          int argc = 1;
++          char *argv[] = {"gvim.exe"};
++          NtInitialize(&argc, &argv);
++ #endif
+           ruby_init();
+           ruby_init_loadpath();
+           ruby_io_init();
+*** ../vim-7.2.359/src/version.c       2010-02-11 18:54:38.000000000 +0100
+--- src/version.c      2010-02-17 15:10:22.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     360,
+  /**/
+
+-- 
+"After a few years of marriage a man can look right at a woman
+without seeing her and a woman can see right through a man
+without looking at him."
+ - Helen Rowland
+
+ /// 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.361 b/7.2.361
new file mode 100644 (file)
index 0000000..ddc5857
--- /dev/null
+++ b/7.2.361
@@ -0,0 +1,763 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.361
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.361
+Problem:    Ruby 1.9 is not supported.
+Solution:   Add Ruby 1.9 support. (Msaki Suketa)
+Files:     src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c
+
+
+*** ../vim-7.2.360/src/Makefile        2010-02-17 15:12:22.000000000 +0100
+--- src/Makefile       2010-02-17 16:21:01.000000000 +0100
+***************
+*** 395,401 ****
+  
+  # RUBY
+  # Uncomment this when you want to include the Ruby interface.
+! #CONF_OPT_RUBY = --enable-rubyinterp
+  
+  # MZSCHEME
+  # Uncomment this when you want to include the MzScheme interface.
+--- 395,403 ----
+  
+  # RUBY
+  # Uncomment this when you want to include the Ruby interface.
+! # Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu).
+! # CONF_OPT_RUBY = --enable-rubyinterp
+! # CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1
+  
+  # MZSCHEME
+  # Uncomment this when you want to include the MzScheme interface.
+*** ../vim-7.2.360/src/auto/configure  2009-12-16 17:14:08.000000000 +0100
+--- src/auto/configure 2010-02-17 16:08:59.000000000 +0100
+***************
+*** 793,798 ****
+--- 793,799 ----
+  enable_tclinterp
+  with_tclsh
+  enable_rubyinterp
++ with_ruby_command
+  enable_cscope
+  enable_workshop
+  enable_netbeans
+***************
+*** 1503,1508 ****
+--- 1504,1510 ----
+    --with-plthome=PLTHOME   Use PLTHOME.
+    --with-python-config-dir=PATH  Python's config directory
+    --with-tclsh=PATH       which tclsh to use (default: tclsh8.0)
++   --with-ruby-command=RUBY  name of the Ruby command (default: ruby)
+    --with-x                use the X Window System
+    --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)
+    --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)
+***************
+*** 5703,5711 ****
+  { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5
+  $as_echo "$enable_rubyinterp" >&6; }
+  if test "$enable_rubyinterp" = "yes"; then
+  
+!   # Extract the first word of "ruby", so it can be a program name with args.
+! set dummy ruby; ac_word=$2
+  { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+  $as_echo_n "checking for $ac_word... " >&6; }
+  if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then
+--- 5705,5725 ----
+  { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5
+  $as_echo "$enable_rubyinterp" >&6; }
+  if test "$enable_rubyinterp" = "yes"; then
++   { $as_echo "$as_me:$LINENO: checking --with-ruby-command argument" >&5
++ $as_echo_n "checking --with-ruby-command argument... " >&6; }
+  
+! # Check whether --with-ruby-command was given.
+! if test "${with_ruby_command+set}" = set; then
+!   withval=$with_ruby_command; RUBY_CMD="$withval"; { $as_echo "$as_me:$LINENO: result: $RUBY_CMD" >&5
+! $as_echo "$RUBY_CMD" >&6; }
+! else
+!   RUBY_CMD="ruby"; { $as_echo "$as_me:$LINENO: result: defaulting to $RUBY_CMD" >&5
+! $as_echo "defaulting to $RUBY_CMD" >&6; }
+! fi
+! 
+! 
+!   # Extract the first word of "$RUBY_CMD", so it can be a program name with args.
+! set dummy $RUBY_CMD; ac_word=$2
+  { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+  $as_echo_n "checking for $ac_word... " >&6; }
+  if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then
+***************
+*** 5752,5762 ****
+  $as_echo "OK" >&6; }
+        { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5
+  $as_echo_n "checking Ruby header files... " >&6; }
+!       rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null`
+        if test "X$rubyhdrdir" != "X"; then
+       { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5
+  $as_echo "$rubyhdrdir" >&6; }
+       RUBY_CFLAGS="-I$rubyhdrdir"
+       rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'`
+       if test "X$rubylibs" != "X"; then
+         RUBY_LIBS="$rubylibs"
+--- 5766,5782 ----
+  $as_echo "OK" >&6; }
+        { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5
+  $as_echo_n "checking Ruby header files... " >&6; }
+!       rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["rubyhdrdir"] || Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null`
+        if test "X$rubyhdrdir" != "X"; then
+       { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5
+  $as_echo "$rubyhdrdir" >&6; }
+       RUBY_CFLAGS="-I$rubyhdrdir"
++         rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["arch"]'`
++         if test -d "$rubyhdrdir/$rubyarch"; then
++           RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
++         fi
++         rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"].gsub(/\./, "")[0,2]'`
++         RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion"
+       rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'`
+       if test "X$rubylibs" != "X"; then
+         RUBY_LIBS="$rubylibs"
+***************
+*** 5793,5800 ****
+  _ACEOF
+  
+        else
+!      { $as_echo "$as_me:$LINENO: result: not found" >&5
+! $as_echo "not found" >&6; }
+        fi
+      else
+        { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5
+--- 5813,5820 ----
+  _ACEOF
+  
+        else
+!      { $as_echo "$as_me:$LINENO: result: not found; disabling Ruby" >&5
+! $as_echo "not found; disabling Ruby" >&6; }
+        fi
+      else
+        { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5
+*** ../vim-7.2.360/src/configure.in    2009-12-16 17:14:08.000000000 +0100
+--- src/configure.in   2010-02-17 16:00:58.000000000 +0100
+***************
+*** 949,965 ****
+       [enable_rubyinterp="no"])
+  AC_MSG_RESULT($enable_rubyinterp)
+  if test "$enable_rubyinterp" = "yes"; then
+    AC_SUBST(vi_cv_path_ruby)
+!   AC_PATH_PROG(vi_cv_path_ruby, ruby)
+    if test "X$vi_cv_path_ruby" != "X"; then
+      AC_MSG_CHECKING(Ruby version)
+      if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
+        AC_MSG_RESULT(OK)
+        AC_MSG_CHECKING(Ruby header files)
+!       rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
+        if test "X$rubyhdrdir" != "X"; then
+       AC_MSG_RESULT($rubyhdrdir)
+       RUBY_CFLAGS="-I$rubyhdrdir"
+       rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
+       if test "X$rubylibs" != "X"; then
+         RUBY_LIBS="$rubylibs"
+--- 949,975 ----
+       [enable_rubyinterp="no"])
+  AC_MSG_RESULT($enable_rubyinterp)
+  if test "$enable_rubyinterp" = "yes"; then
++   AC_MSG_CHECKING(--with-ruby-command argument)
++   AC_ARG_WITH(ruby-command, [  --with-ruby-command=RUBY  name of the Ruby command (default: ruby)],
++      RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
++      RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
+    AC_SUBST(vi_cv_path_ruby)
+!   AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD)
+    if test "X$vi_cv_path_ruby" != "X"; then
+      AC_MSG_CHECKING(Ruby version)
+      if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
+        AC_MSG_RESULT(OK)
+        AC_MSG_CHECKING(Ruby header files)
+!       rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["rubyhdrdir"]] || Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
+        if test "X$rubyhdrdir" != "X"; then
+       AC_MSG_RESULT($rubyhdrdir)
+       RUBY_CFLAGS="-I$rubyhdrdir"
++         rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["arch"]]'`
++         if test -d "$rubyhdrdir/$rubyarch"; then
++           RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch"
++         fi
++         rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["ruby_version"]].gsub(/\./, "")[[0,2]]'`
++         RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion"
+       rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
+       if test "X$rubylibs" != "X"; then
+         RUBY_LIBS="$rubylibs"
+***************
+*** 997,1003 ****
+       RUBY_PRO="if_ruby.pro"
+       AC_DEFINE(FEAT_RUBY)
+        else
+!      AC_MSG_RESULT(not found, disabling Ruby)
+        fi
+      else
+        AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
+--- 1007,1013 ----
+       RUBY_PRO="if_ruby.pro"
+       AC_DEFINE(FEAT_RUBY)
+        else
+!      AC_MSG_RESULT(not found; disabling Ruby)
+        fi
+      else
+        AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
+*** ../vim-7.2.360/src/if_ruby.c       2010-02-17 15:11:35.000000000 +0100
+--- src/if_ruby.c      2010-02-17 16:08:47.000000000 +0100
+***************
+*** 54,59 ****
+--- 54,62 ----
+  #endif
+  
+  #include <ruby.h>
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++ # include <ruby/encoding.h>
++ #endif
+  
+  #undef EXTERN
+  #undef _
+***************
+*** 65,70 ****
+--- 68,95 ----
+  # define __OPENTRANSPORTPROVIDERS__
+  #endif
+  
++ /*
++  * Backward compatiblity for Ruby 1.8 and earlier.
++  * Ruby 1.9 does not provide STR2CSTR, instead StringValuePtr is provided.
++  * Ruby 1.9 does not provide RXXX(s)->len and RXXX(s)->ptr, instead
++  * RXXX_LEN(s) and RXXX_PTR(s) are provided.
++  */
++ #ifndef StringValuePtr
++ # define StringValuePtr(s) STR2CSTR(s)
++ #endif
++ #ifndef RARRAY_LEN
++ # define RARRAY_LEN(s) RARRAY(s)->len
++ #endif
++ #ifndef RARRAY_PTR
++ # define RARRAY_PTR(s) RARRAY(s)->ptr
++ #endif
++ #ifndef RSTRING_LEN
++ # define RSTRING_LEN(s) RSTRING(s)->len
++ #endif
++ #ifndef RSTRING_PTR
++ # define RSTRING_PTR(s) RSTRING(s)->ptr
++ #endif
++ 
+  #include "vim.h"
+  #include "version.h"
+  
+***************
+*** 134,140 ****
+  #define rb_str_concat                        dll_rb_str_concat
+  #define rb_str_new                   dll_rb_str_new
+  #define rb_str_new2                  dll_rb_str_new2
+! #define ruby_errinfo                 (*dll_ruby_errinfo)
+  #define ruby_init                    dll_ruby_init
+  #define ruby_init_loadpath           dll_ruby_init_loadpath
+  #define NtInitialize                 dll_NtInitialize
+--- 159,169 ----
+  #define rb_str_concat                        dll_rb_str_concat
+  #define rb_str_new                   dll_rb_str_new
+  #define rb_str_new2                  dll_rb_str_new2
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+! # define rb_errinfo                  dll_rb_errinfo
+! #else
+! # define ruby_errinfo                        (*dll_ruby_errinfo)
+! #endif
+  #define ruby_init                    dll_ruby_init
+  #define ruby_init_loadpath           dll_ruby_init_loadpath
+  #define NtInitialize                 dll_NtInitialize
+***************
+*** 142,147 ****
+--- 171,184 ----
+  # define rb_w32_snprintf             dll_rb_w32_snprintf
+  #endif
+  
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++ # define ruby_script                 dll_ruby_script
++ # define rb_enc_find_index           dll_rb_enc_find_index
++ # define rb_enc_find                 dll_rb_enc_find
++ # define rb_enc_str_new                      dll_rb_enc_str_new
++ # define rb_sprintf                  dll_rb_sprintf
++ #endif
++ 
+  /*
+   * Pointers for dynamic link
+   */
+***************
+*** 189,195 ****
+--- 226,236 ----
+  static VALUE (*dll_rb_str_concat) (VALUE, VALUE);
+  static VALUE (*dll_rb_str_new) (const char*, long);
+  static VALUE (*dll_rb_str_new2) (const char*);
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++ static VALUE (*dll_rb_errinfo) (void);
++ #else
+  static VALUE *dll_ruby_errinfo;
++ #endif
+  static void (*dll_ruby_init) (void);
+  static void (*dll_ruby_init_loadpath) (void);
+  static void (*dll_NtInitialize) (int*, char***);
+***************
+*** 197,202 ****
+--- 238,251 ----
+  static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
+  #endif
+  
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++ static void (*dll_ruby_script) (const char*);
++ static int (*dll_rb_enc_find_index) (const char*);
++ static rb_encoding* (*dll_rb_enc_find) (const char*);
++ static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
++ static VALUE (*dll_rb_sprintf) (const char*, ...);
++ #endif
++ 
+  static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */
+  
+  /*
+***************
+*** 252,264 ****
+--- 301,324 ----
+      {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
+      {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
+      {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2},
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++     {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo},
++ #else
+      {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
++ #endif
+      {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
+      {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
+      {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize},
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+      {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
+  #endif
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++     {"ruby_script", (RUBY_PROC*)&dll_ruby_script},
++     {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
++     {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
++     {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
++     {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
++ #endif
+      {"", NULL},
+  };
+  
+***************
+*** 348,353 ****
+--- 408,465 ----
+      vim_free(script);
+  }
+  
++ /*
++  *  In Ruby 1.9 or later, ruby String object has encoding.
++  *  conversion buffer string of vim to ruby String object using
++  *  VIM encoding option.
++  */
++     static VALUE
++ vim_str2rb_enc_str(const char *s)
++ {
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++     int isnum;
++     long lval;
++     char_u *sval;
++     rb_encoding *enc;
++ 
++     isnum = get_option_value((char_u *)"enc", &lval, &sval, 0);
++     if (isnum == 0)
++     {
++      enc = rb_enc_find((char *)sval);
++      vim_free(sval);
++      if (enc) {
++          return rb_enc_str_new(s, strlen(s), enc);
++      }
++     }
++ #endif
++     return rb_str_new2(s);
++ }
++ 
++     static VALUE
++ eval_enc_string_protect(const char *str, int *state)
++ {
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++     int isnum;
++     long lval;
++     char_u *sval;
++     rb_encoding *enc;
++     VALUE v;
++ 
++     isnum = get_option_value((char_u *)"enc", &lval, &sval, 0);
++     if (isnum == 0)
++     {
++      enc = rb_enc_find((char *)sval);
++      vim_free(sval);
++      if (enc)
++      {
++          v = rb_sprintf("#-*- coding:%s -*-\n%s", rb_enc_name(enc), str);
++          return rb_eval_string_protect(StringValuePtr(v), state);
++      }
++     }
++ #endif
++     return rb_eval_string_protect(str, state);
++ }
++ 
+  void ex_rubydo(exarg_T *eap)
+  {
+      int state;
+***************
+*** 360,368 ****
+       for (i = eap->line1; i <= eap->line2; i++) {
+           VALUE line, oldline;
+  
+!          line = oldline = rb_str_new2((char *)ml_get(i));
+           rb_lastline_set(line);
+!          rb_eval_string_protect((char *) eap->arg, &state);
+           if (state) {
+               error_print(state);
+               break;
+--- 472,480 ----
+       for (i = eap->line1; i <= eap->line2; i++) {
+           VALUE line, oldline;
+  
+!          line = oldline = vim_str2rb_enc_str((char *)ml_get(i));
+           rb_lastline_set(line);
+!          eval_enc_string_protect((char *) eap->arg, &state);
+           if (state) {
+               error_print(state);
+               break;
+***************
+*** 373,379 ****
+                   EMSG(_("E265: $_ must be an instance of String"));
+                   return;
+               }
+!              ml_replace(i, (char_u *) STR2CSTR(line), 1);
+               changed();
+  #ifdef SYNTAX_HL
+               syn_changed(i); /* recompute syntax hl. for this line */
+--- 485,491 ----
+                   EMSG(_("E265: $_ must be an instance of String"));
+                   return;
+               }
+!              ml_replace(i, (char_u *) StringValuePtr(line), 1);
+               changed();
+  #ifdef SYNTAX_HL
+               syn_changed(i); /* recompute syntax hl. for this line */
+***************
+*** 428,436 ****
+--- 540,557 ----
+           char *argv[] = {"gvim.exe"};
+           NtInitialize(&argc, &argv);
+  #endif
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++          RUBY_INIT_STACK;
++ #endif
+           ruby_init();
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++          ruby_script("vim-ruby");
++ #endif
+           ruby_init_loadpath();
+           ruby_io_init();
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++          rb_enc_find_index("encdb");
++ #endif
+           ruby_vim_init();
+           ruby_initialized = 1;
+  #ifdef DYNAMIC_RUBY
+***************
+*** 448,455 ****
+--- 569,578 ----
+  static void error_print(int state)
+  {
+  #ifndef DYNAMIC_RUBY
++ #if !(defined(RUBY_VERSION) &&  RUBY_VERSION >= 19)
+      RUBYEXTERN VALUE ruby_errinfo;
+  #endif
++ #endif
+      VALUE eclass;
+      VALUE einfo;
+      char buff[BUFSIZ];
+***************
+*** 482,490 ****
+       break;
+      case TAG_RAISE:
+      case TAG_FATAL:
+       eclass = CLASS_OF(ruby_errinfo);
+       einfo = rb_obj_as_string(ruby_errinfo);
+!      if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) {
+           EMSG(_("E272: unhandled exception"));
+       }
+       else {
+--- 605,618 ----
+       break;
+      case TAG_RAISE:
+      case TAG_FATAL:
++ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
++      eclass = CLASS_OF(rb_errinfo());
++      einfo = rb_obj_as_string(rb_errinfo());
++ #else
+       eclass = CLASS_OF(ruby_errinfo);
+       einfo = rb_obj_as_string(ruby_errinfo);
+! #endif
+!      if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) {
+           EMSG(_("E272: unhandled exception"));
+       }
+       else {
+***************
+*** 493,499 ****
+  
+           epath = rb_class_path(eclass);
+           vim_snprintf(buff, BUFSIZ, "%s: %s",
+!                   RSTRING(epath)->ptr, RSTRING(einfo)->ptr);
+           p = strchr(buff, '\n');
+           if (p) *p = '\0';
+           EMSG(buff);
+--- 621,627 ----
+  
+           epath = rb_class_path(eclass);
+           vim_snprintf(buff, BUFSIZ, "%s: %s",
+!                   RSTRING_PTR(epath), RSTRING_PTR(einfo));
+           p = strchr(buff, '\n');
+           if (p) *p = '\0';
+           EMSG(buff);
+***************
+*** 511,518 ****
+      char *buff, *p;
+  
+      str = rb_obj_as_string(str);
+!     buff = ALLOCA_N(char, RSTRING(str)->len);
+!     strcpy(buff, RSTRING(str)->ptr);
+      p = strchr(buff, '\n');
+      if (p) *p = '\0';
+      MSG(buff);
+--- 639,646 ----
+      char *buff, *p;
+  
+      str = rb_obj_as_string(str);
+!     buff = ALLOCA_N(char, RSTRING_LEN(str));
+!     strcpy(buff, RSTRING_PTR(str));
+      p = strchr(buff, '\n');
+      if (p) *p = '\0';
+      MSG(buff);
+***************
+*** 521,541 ****
+  
+  static VALUE vim_set_option(VALUE self UNUSED, VALUE str)
+  {
+!     do_set((char_u *)STR2CSTR(str), 0);
+      update_screen(NOT_VALID);
+      return Qnil;
+  }
+  
+  static VALUE vim_command(VALUE self UNUSED, VALUE str)
+  {
+!     do_cmdline_cmd((char_u *)STR2CSTR(str));
+      return Qnil;
+  }
+  
+  static VALUE vim_evaluate(VALUE self UNUSED, VALUE str)
+  {
+  #ifdef FEAT_EVAL
+!     char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE);
+  
+      if (value != NULL)
+      {
+--- 649,669 ----
+  
+  static VALUE vim_set_option(VALUE self UNUSED, VALUE str)
+  {
+!     do_set((char_u *)StringValuePtr(str), 0);
+      update_screen(NOT_VALID);
+      return Qnil;
+  }
+  
+  static VALUE vim_command(VALUE self UNUSED, VALUE str)
+  {
+!     do_cmdline_cmd((char_u *)StringValuePtr(str));
+      return Qnil;
+  }
+  
+  static VALUE vim_evaluate(VALUE self UNUSED, VALUE str)
+  {
+  #ifdef FEAT_EVAL
+!     char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE);
+  
+      if (value != NULL)
+      {
+***************
+*** 640,648 ****
+      if (n > 0 && n <= buf->b_ml.ml_line_count)
+      {
+       char *line = (char *)ml_get_buf(buf, n, FALSE);
+!      return line ? rb_str_new2(line) : Qnil;
+      }
+!     rb_raise(rb_eIndexError, "index %d out of buffer", n);
+  #ifndef __GNUC__
+      return Qnil; /* For stop warning */
+  #endif
+--- 768,776 ----
+      if (n > 0 && n <= buf->b_ml.ml_line_count)
+      {
+       char *line = (char *)ml_get_buf(buf, n, FALSE);
+!      return line ? vim_str2rb_enc_str(line) : Qnil;
+      }
+!     rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
+  #ifndef __GNUC__
+      return Qnil; /* For stop warning */
+  #endif
+***************
+*** 659,665 ****
+  
+  static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str)
+  {
+!     char     *line = STR2CSTR(str);
+      aco_save_T       aco;
+  
+      if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL)
+--- 787,793 ----
+  
+  static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str)
+  {
+!     char     *line = StringValuePtr(str);
+      aco_save_T       aco;
+  
+      if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL)
+***************
+*** 683,689 ****
+      }
+      else
+      {
+!      rb_raise(rb_eIndexError, "index %d out of buffer", n);
+  #ifndef __GNUC__
+       return Qnil; /* For stop warning */
+  #endif
+--- 811,817 ----
+      }
+      else
+      {
+!      rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
+  #ifndef __GNUC__
+       return Qnil; /* For stop warning */
+  #endif
+***************
+*** 729,735 ****
+      }
+      else
+      {
+!      rb_raise(rb_eIndexError, "index %d out of buffer", n);
+      }
+      return Qnil;
+  }
+--- 857,863 ----
+      }
+      else
+      {
+!      rb_raise(rb_eIndexError, "line number %ld out of range", n);
+      }
+      return Qnil;
+  }
+***************
+*** 737,747 ****
+  static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
+  {
+      buf_T    *buf = get_buf(self);
+!     char     *line = STR2CSTR(str);
+      long     n = NUM2LONG(num);
+      aco_save_T       aco;
+  
+!     if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL)
+      {
+       /* set curwin/curbuf for "buf" and save some things */
+       aucmd_prepbuf(&aco, buf);
+--- 865,878 ----
+  static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
+  {
+      buf_T    *buf = get_buf(self);
+!     char     *line = StringValuePtr(str);
+      long     n = NUM2LONG(num);
+      aco_save_T       aco;
+  
+!     if (line != NULL) {
+!      rb_raise(rb_eIndexError, "NULL line");
+!     }
+!     else if (n >= 0 && n <= buf->b_ml.ml_line_count)
+      {
+       /* set curwin/curbuf for "buf" and save some things */
+       aucmd_prepbuf(&aco, buf);
+***************
+*** 763,769 ****
+       update_curbuf(NOT_VALID);
+      }
+      else {
+!      rb_raise(rb_eIndexError, "index %d out of buffer", n);
+      }
+      return str;
+  }
+--- 894,900 ----
+       update_curbuf(NOT_VALID);
+      }
+      else {
+!      rb_raise(rb_eIndexError, "line number %ld out of range", n);
+      }
+      return str;
+  }
+***************
+*** 904,913 ****
+      win_T *win = get_win(self);
+  
+      Check_Type(pos, T_ARRAY);
+!     if (RARRAY(pos)->len != 2)
+       rb_raise(rb_eArgError, "array length must be 2");
+!     lnum = RARRAY(pos)->ptr[0];
+!     col = RARRAY(pos)->ptr[1];
+      win->w_cursor.lnum = NUM2LONG(lnum);
+      win->w_cursor.col = NUM2UINT(col);
+      check_cursor();              /* put cursor on an existing line */
+--- 1035,1044 ----
+      win_T *win = get_win(self);
+  
+      Check_Type(pos, T_ARRAY);
+!     if (RARRAY_LEN(pos) != 2)
+       rb_raise(rb_eArgError, "array length must be 2");
+!     lnum = RARRAY_PTR(pos)[0];
+!     col = RARRAY_PTR(pos)[1];
+      win->w_cursor.lnum = NUM2LONG(lnum);
+      win->w_cursor.col = NUM2UINT(col);
+      check_cursor();              /* put cursor on an existing line */
+***************
+*** 924,930 ****
+       if (i > 0) rb_str_cat(str, ", ", 2);
+       rb_str_concat(str, rb_inspect(argv[i]));
+      }
+!     MSG(RSTRING(str)->ptr);
+      return Qnil;
+  }
+  
+--- 1055,1061 ----
+       if (i > 0) rb_str_cat(str, ", ", 2);
+       rb_str_concat(str, rb_inspect(argv[i]));
+      }
+!     MSG(RSTRING_PTR(str));
+      return Qnil;
+  }
+  
+*** ../vim-7.2.360/src/version.c       2010-02-17 15:11:35.000000000 +0100
+--- src/version.c      2010-02-17 15:59:12.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     361,
+  /**/
+
+-- 
+"Marriage is when a man and woman become as one; the trouble starts
+when they try to decide which one"
+
+ /// 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.362 b/7.2.362
new file mode 100644 (file)
index 0000000..2f62cf6
--- /dev/null
+++ b/7.2.362
@@ -0,0 +1,95 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.362 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.362 (extra, after 7.2.352)
+Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
+Solution:   Instead of handling WM_NCCREATE, create wide text area window
+            class if the parent window iw side. (Sergey Khorev)
+Files:      src/gui_w32.c, src/gui_w48.c
+
+
+*** ../vim-7.2.361/src/gui_w32.c       2009-12-24 16:11:24.000000000 +0100
+--- src/gui_w32.c      2010-02-17 16:26:58.000000000 +0100
+***************
+*** 1329,1334 ****
+--- 1329,1335 ----
+      WNDCLASS wndclass;
+  #ifdef FEAT_MBYTE
+      const WCHAR szVimWndClassW[] = VIM_CLASSW;
++     const WCHAR szTextAreaClassW[] = L"VimTextArea";
+      WNDCLASSW wndclassw;
+  #endif
+  #ifdef GLOBAL_IME
+***************
+*** 1479,1484 ****
+--- 1480,1507 ----
+  #endif
+  
+      /* Create the text area window */
++ #ifdef FEAT_MBYTE
++     if (wide_WindowProc)
++     {
++      if (GetClassInfoW(s_hinst, szTextAreaClassW, &wndclassw) == 0)
++      {
++          wndclassw.style = CS_OWNDC;
++          wndclassw.lpfnWndProc = _TextAreaWndProc;
++          wndclassw.cbClsExtra = 0;
++          wndclassw.cbWndExtra = 0;
++          wndclassw.hInstance = s_hinst;
++          wndclassw.hIcon = NULL;
++          wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW);
++          wndclassw.hbrBackground = NULL;
++          wndclassw.lpszMenuName = NULL;
++          wndclassw.lpszClassName = szTextAreaClassW;
++ 
++          if (RegisterClassW(&wndclassw) == 0)
++              return FAIL;
++      }
++     }
++     else
++ #endif
+      if (GetClassInfo(s_hinst, szTextAreaClass, &wndclass) == 0)
+      {
+       wndclass.style = CS_OWNDC;
+*** ../vim-7.2.361/src/gui_w48.c       2010-02-03 12:23:16.000000000 +0100
+--- src/gui_w48.c      2010-02-17 16:27:21.000000000 +0100
+***************
+*** 1084,1096 ****
+       case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam);
+           return TRUE;
+  #endif
+-      /* Workaround for the problem that MyWindowProc() returns FALSE on 64
+-       * bit windows when cross-compiled using Mingw libraries. (Andy
+-       * Kittner) */
+-      case WM_NCCREATE:
+-          MyWindowProc(hwnd, uMsg, wParam, lParam);
+-          return TRUE;
+- 
+       default:
+           return MyWindowProc(hwnd, uMsg, wParam, lParam);
+      }
+--- 1084,1089 ----
+*** ../vim-7.2.361/src/version.c       2010-02-17 16:23:03.000000000 +0100
+--- src/version.c      2010-02-17 16:30:52.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     362,
+  /**/
+
+-- 
+"Marriage is the process of finding out what kind of man your wife
+would have preferred"
+
+ /// 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.363 b/7.2.363
new file mode 100644 (file)
index 0000000..2447103
--- /dev/null
+++ b/7.2.363
@@ -0,0 +1,70 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.363
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.363
+Problem:    Can't dynamically load Perl 5.10.
+Solution:   Add the function Perl_croak_xs_usage. (Sergey Khorev)
+Files:     src/if_perl.xs
+
+
+*** ../vim-7.2.362/src/if_perl.xs      2009-11-11 14:45:36.000000000 +0100
+--- src/if_perl.xs     2010-02-17 16:33:16.000000000 +0100
+***************
+*** 93,98 ****
+--- 93,101 ----
+  # define perl_free dll_perl_free
+  # define Perl_get_context dll_Perl_get_context
+  # define Perl_croak dll_Perl_croak
++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
++ #  define Perl_croak_xs_usage dll_Perl_croak_xs_usage
++ # endif
+  # ifndef PROTO
+  #  define Perl_croak_nocontext dll_Perl_croak_nocontext
+  #  define Perl_call_argv dll_Perl_call_argv
+***************
+*** 202,207 ****
+--- 205,213 ----
+  static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
+  static void* (*Perl_get_context)(void);
+  static void (*Perl_croak)(pTHX_ const char*, ...);
++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
++ static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
++ #endif
+  static void (*Perl_croak_nocontext)(const char*, ...);
+  static I32 (*Perl_dowantarray)(pTHX);
+  static void (*Perl_free_tmps)(pTHX);
+***************
+*** 306,311 ****
+--- 312,320 ----
+      {"perl_parse", (PERL_PROC*)&perl_parse},
+      {"Perl_get_context", (PERL_PROC*)&Perl_get_context},
+      {"Perl_croak", (PERL_PROC*)&Perl_croak},
++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
++     {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
++ #endif
+      {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
+      {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray},
+      {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps},
+*** ../vim-7.2.362/src/version.c       2010-02-17 16:31:27.000000000 +0100
+--- src/version.c      2010-02-17 16:35:39.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     363,
+  /**/
+
+-- 
+If you're sending someone Styrofoam, what do you pack it in?
+
+ /// 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.364 b/7.2.364
new file mode 100644 (file)
index 0000000..c3c6e8b
--- /dev/null
+++ b/7.2.364
@@ -0,0 +1,91 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.364 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.364 (extra)
+Problem:    Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott)
+Solution:   Check if _MSC_VER is defined. (Andy Kittner)
+Files:     src/GvimExt/gvimext.h
+
+
+*** ../vim-7.2.363/src/GvimExt/gvimext.h       2006-04-24 21:23:03.000000000 +0200
+--- src/GvimExt/gvimext.h      2010-02-17 17:20:00.000000000 +0100
+***************
+*** 14,22 ****
+  #if !defined(AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_)
+  #define AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_
+  
+! #if _MSC_VER > 1000
+  #pragma once
+! #endif // _MSC_VER > 1000
+  
+  // Insert your headers here
+  // #define WIN32_LEAN_AND_MEAN               // Exclude rarely-used stuff from Windows headers
+--- 14,22 ----
+  #if !defined(AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_)
+  #define AFX_STDAFX_H__3389658B_AD83_11D3_9C1E_0090278BBD99__INCLUDED_
+  
+! #if defined(_MSC_VER) && _MSC_VER > 1000
+  #pragma once
+! #endif
+  
+  // Insert your headers here
+  // #define WIN32_LEAN_AND_MEAN               // Exclude rarely-used stuff from Windows headers
+***************
+*** 34,40 ****
+  #define INC_OLE2     // WIN32, get ole2 from windows.h
+  
+  /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */
+! #if _MSC_VER >= 1400
+  # define _CRT_SECURE_NO_DEPRECATE
+  # define _CRT_NONSTDC_NO_DEPRECATE
+  #endif
+--- 34,40 ----
+  #define INC_OLE2     // WIN32, get ole2 from windows.h
+  
+  /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */
+! #if defined(_MSC_VER) && _MSC_VER >= 1400
+  # define _CRT_SECURE_NO_DEPRECATE
+  # define _CRT_NONSTDC_NO_DEPRECATE
+  #endif
+***************
+*** 44,50 ****
+  #include <shlobj.h>
+  
+  /* Accommodate old versions of VC that don't have a modern Platform SDK */
+! #if _MSC_VER < 1300
+  # undef  UINT_PTR
+  # define UINT_PTR UINT
+  #endif
+--- 44,50 ----
+  #include <shlobj.h>
+  
+  /* Accommodate old versions of VC that don't have a modern Platform SDK */
+! #if defined(_MSC_VER) && _MSC_VER < 1300
+  # undef  UINT_PTR
+  # define UINT_PTR UINT
+  #endif
+*** ../vim-7.2.363/src/version.c       2010-02-17 16:40:47.000000000 +0100
+--- src/version.c      2010-02-17 17:23:15.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     364,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+245. You use Real Audio to listen to a radio station from a distant
+     city rather than turn on your stereo system.
+
+ /// 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.365 b/7.2.365
new file mode 100644 (file)
index 0000000..e48990b
--- /dev/null
+++ b/7.2.365
@@ -0,0 +1,71 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.365 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.365 (extra)
+Problem:    MS-Windows with MingW: "File->Save As" does not work. (John
+           Marriott)
+Solution:   Correctly fill in structure size. (Andy Kittner)
+Files:     src/gui_w48.c
+
+
+*** ../vim-7.2.364/src/gui_w48.c       2010-02-17 16:31:27.000000000 +0100
+--- src/gui_w48.c      2010-02-17 17:30:15.000000000 +0100
+***************
+*** 3345,3351 ****
+  #ifdef OPENFILENAME_SIZE_VERSION_400
+      /* be compatible with Windows NT 4.0 */
+      /* TODO: what to use for OPENFILENAMEW??? */
+!     fileStruct.lStructSize = sizeof(OPENFILENAME_SIZE_VERSION_400);
+  #else
+      fileStruct.lStructSize = sizeof(fileStruct);
+  #endif
+--- 3345,3351 ----
+  #ifdef OPENFILENAME_SIZE_VERSION_400
+      /* be compatible with Windows NT 4.0 */
+      /* TODO: what to use for OPENFILENAMEW??? */
+!     fileStruct.lStructSize = OPENFILENAME_SIZE_VERSION_400;
+  #else
+      fileStruct.lStructSize = sizeof(fileStruct);
+  #endif
+***************
+*** 3506,3512 ****
+      memset(&fileStruct, 0, sizeof(OPENFILENAME));
+  #ifdef OPENFILENAME_SIZE_VERSION_400
+      /* be compatible with Windows NT 4.0 */
+!     fileStruct.lStructSize = sizeof(OPENFILENAME_SIZE_VERSION_400);
+  #else
+      fileStruct.lStructSize = sizeof(fileStruct);
+  #endif
+--- 3506,3512 ----
+      memset(&fileStruct, 0, sizeof(OPENFILENAME));
+  #ifdef OPENFILENAME_SIZE_VERSION_400
+      /* be compatible with Windows NT 4.0 */
+!     fileStruct.lStructSize = OPENFILENAME_SIZE_VERSION_400;
+  #else
+      fileStruct.lStructSize = sizeof(fileStruct);
+  #endif
+*** ../vim-7.2.364/src/version.c       2010-02-17 17:24:23.000000000 +0100
+--- src/version.c      2010-02-17 17:31:54.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     365,
+  /**/
+
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+246. You use up your free 100 hours in less than a 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.366 b/7.2.366
new file mode 100644 (file)
index 0000000..952a0f2
--- /dev/null
+++ b/7.2.366
@@ -0,0 +1,134 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.366
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.366
+Problem:    CTRL-B doesn't go back to the first line of the buffer.
+Solution:   Avoid an overflow when adding MAXCOL.
+Files:     src/move.c
+
+
+*** ../vim-7.2.365/src/move.c  2010-02-03 17:42:59.000000000 +0100
+--- src/move.c 2010-02-17 17:49:34.000000000 +0100
+***************
+*** 1610,1616 ****
+   * Add one line above "lp->lnum".  This can be a filler line, a closed fold or
+   * a (wrapped) text line.  Uses and sets "lp->fill".
+   * Returns the height of the added line in "lp->height".
+!  * Lines above the first one are incredibly high.
+   */
+      static void
+  topline_back(lp)
+--- 1610,1616 ----
+   * Add one line above "lp->lnum".  This can be a filler line, a closed fold or
+   * a (wrapped) text line.  Uses and sets "lp->fill".
+   * Returns the height of the added line in "lp->height".
+!  * Lines above the first one are incredibly high: MAXCOL.
+   */
+      static void
+  topline_back(lp)
+***************
+*** 1942,1948 ****
+       {
+           loff.lnum = curwin->w_topline;
+           topline_back(&loff);
+!          if (used + loff.height > curwin->w_height)
+               break;
+           used += loff.height;
+  #ifdef FEAT_DIFF
+--- 1942,1948 ----
+       {
+           loff.lnum = curwin->w_topline;
+           topline_back(&loff);
+!          if (loff.height == MAXCOL || used + loff.height > curwin->w_height)
+               break;
+           used += loff.height;
+  #ifdef FEAT_DIFF
+***************
+*** 2021,2027 ****
+  
+       /* Add one line above */
+       topline_back(&loff);
+!      used += loff.height;
+       if (used > curwin->w_height)
+           break;
+       if (loff.lnum >= curwin->w_botline
+--- 2021,2030 ----
+  
+       /* Add one line above */
+       topline_back(&loff);
+!      if (loff.height == MAXCOL)
+!          used = MAXCOL;
+!      else
+!          used += loff.height;
+       if (used > curwin->w_height)
+           break;
+       if (loff.lnum >= curwin->w_botline
+***************
+*** 2175,2181 ****
+       if (below > above)          /* add a line above the cursor */
+       {
+           topline_back(&loff);
+!          used += loff.height;
+           if (used > curwin->w_height)
+               break;
+           above += loff.height;
+--- 2178,2187 ----
+       if (below > above)          /* add a line above the cursor */
+       {
+           topline_back(&loff);
+!          if (loff.height == MAXCOL)
+!              used = MAXCOL;
+!          else
+!              used += loff.height;
+           if (used > curwin->w_height)
+               break;
+           above += loff.height;
+***************
+*** 2472,2480 ****
+           while (n <= curwin->w_height && loff.lnum >= 1)
+           {
+               topline_back(&loff);
+!              n += loff.height;
+           }
+!          if (n <= curwin->w_height)              /* at begin of file */
+           {
+               curwin->w_topline = 1;
+  #ifdef FEAT_DIFF
+--- 2478,2489 ----
+           while (n <= curwin->w_height && loff.lnum >= 1)
+           {
+               topline_back(&loff);
+!              if (loff.height == MAXCOL)
+!                  n = MAXCOL;
+!              else
+!                  n += loff.height;
+           }
+!          if (loff.lnum < 1)                  /* at begin of file */
+           {
+               curwin->w_topline = 1;
+  #ifdef FEAT_DIFF
+*** ../vim-7.2.365/src/version.c       2010-02-17 17:34:38.000000000 +0100
+--- src/version.c      2010-02-17 18:13:22.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     366,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+247. You use www.switchboard.com instead of dialing 411 and 555-12-12
+     for directory assistance.
+
+ /// 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.367 b/7.2.367
new file mode 100644 (file)
index 0000000..6d461c9
--- /dev/null
+++ b/7.2.367
@@ -0,0 +1,77 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.367
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.367
+Problem:    "xxd -r -p" doesn't work as documented.
+Solution:   Skip white space. (James Vega)
+Files:     src/xxd/xxd.c
+
+
+*** ../vim-7.2.366/src/xxd/xxd.c       2009-06-16 18:29:37.000000000 +0200
+--- src/xxd/xxd.c      2010-02-17 18:25:11.000000000 +0100
+***************
+*** 231,237 ****
+    fprintf(stderr, "    or\n       %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname);
+    fprintf(stderr, "Options:\n");
+    fprintf(stderr, "    -a          toggle autoskip: A single '*' replaces nul-lines. Default off.\n");
+!   fprintf(stderr, "    -b          binary digit dump (incompatible with -p,-i,-r). Default hex.\n");
+    fprintf(stderr, "    -c cols     format <cols> octets per line. Default 16 (-i: 12, -ps: 30).\n");
+    fprintf(stderr, "    -E          show characters in EBCDIC. Default ASCII.\n");
+    fprintf(stderr, "    -g          number of octets per group in normal output. Default 2.\n");
+--- 231,237 ----
+    fprintf(stderr, "    or\n       %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname);
+    fprintf(stderr, "Options:\n");
+    fprintf(stderr, "    -a          toggle autoskip: A single '*' replaces nul-lines. Default off.\n");
+!   fprintf(stderr, "    -b          binary digit dump (incompatible with -ps,-i,-r). Default hex.\n");
+    fprintf(stderr, "    -c cols     format <cols> octets per line. Default 16 (-i: 12, -ps: 30).\n");
+    fprintf(stderr, "    -E          show characters in EBCDIC. Default ASCII.\n");
+    fprintf(stderr, "    -g          number of octets per group in normal output. Default 2.\n");
+***************
+*** 276,286 ****
+        if (c == '\r') /* Doze style input file? */
+       continue;
+  
+! #if 0        /* this doesn't work when there is normal text after the hex codes in
+!         the last line that looks like hex */
+!       if (c == ' ' || c == '\n' || c == '\t')  /* allow multiple spaces */
+       continue;
+- #endif
+  
+        n3 = n2;
+        n2 = n1;
+--- 276,286 ----
+        if (c == '\r') /* Doze style input file? */
+       continue;
+  
+!       /* Allow multiple spaces.  This doesn't work when there is normal text
+!        * after the hex codes in the last line that looks like hex, thus only
+!        * use it for PostScript format. */
+!       if (hextype == HEX_POSTSCRIPT && (c == ' ' || c == '\n' || c == '\t'))
+       continue;
+  
+        n3 = n2;
+        n2 = n1;
+*** ../vim-7.2.366/src/version.c       2010-02-17 18:20:23.000000000 +0100
+--- src/version.c      2010-02-17 18:26:35.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     367,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+248. You sign your letters with your e-mail address instead of your name.
+
+ /// 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.368 b/7.2.368
new file mode 100644 (file)
index 0000000..4310769
--- /dev/null
+++ b/7.2.368
@@ -0,0 +1,52 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.368
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.368 (after 7.2.361)
+Problem:    Ruby interface: Appending line doesn't work. (Michael Henry)
+Solution:   Reverse check for NULL line. (James Vega)
+Files:      src/if_ruby.c
+
+
+*** ../vim-7.2.367/src/if_ruby.c       2010-02-17 16:23:03.000000000 +0100
+--- src/if_ruby.c      2010-02-18 15:47:42.000000000 +0100
+***************
+*** 869,875 ****
+      long     n = NUM2LONG(num);
+      aco_save_T       aco;
+  
+!     if (line != NULL) {
+       rb_raise(rb_eIndexError, "NULL line");
+      }
+      else if (n >= 0 && n <= buf->b_ml.ml_line_count)
+--- 869,875 ----
+      long     n = NUM2LONG(num);
+      aco_save_T       aco;
+  
+!     if (line == NULL) {
+       rb_raise(rb_eIndexError, "NULL line");
+      }
+      else if (n >= 0 && n <= buf->b_ml.ml_line_count)
+*** ../vim-7.2.367/src/version.c       2010-02-17 18:28:06.000000000 +0100
+--- src/version.c      2010-02-18 15:48:09.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     368,
+  /**/
+
+-- 
+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.2.369 b/7.2.369
new file mode 100644 (file)
index 0000000..adcab24
--- /dev/null
+++ b/7.2.369
@@ -0,0 +1,55 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.369
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.369
+Problem:    Error message is not easy to understand.
+Solution:   Add quotes. (SungHyun Nam)
+Files:     src/ex_cmds2.c
+
+
+*** ../vim-7.2.368/src/ex_cmds2.c      2010-02-03 15:14:15.000000000 +0100
+--- src/ex_cmds2.c     2010-02-18 21:16:20.000000000 +0100
+***************
+*** 1092,1098 ****
+       set_vim_var_nr(VV_PROFILING, 1L);
+      }
+      else if (do_profiling == PROF_NONE)
+!      EMSG(_("E750: First use :profile start <fname>"));
+      else if (STRCMP(eap->arg, "pause") == 0)
+      {
+       if (do_profiling == PROF_YES)
+--- 1092,1098 ----
+       set_vim_var_nr(VV_PROFILING, 1L);
+      }
+      else if (do_profiling == PROF_NONE)
+!      EMSG(_("E750: First use \":profile start {fname}\""));
+      else if (STRCMP(eap->arg, "pause") == 0)
+      {
+       if (do_profiling == PROF_YES)
+*** ../vim-7.2.368/src/version.c       2010-02-18 15:51:25.000000000 +0100
+--- src/version.c      2010-02-24 13:58:28.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     369,
+  /**/
+
+-- 
+MAN:     You don't frighten us, English pig-dog!  Go and boil your bottoms,
+         son of a silly person.  I blow my nose on you, so-called Arthur-king,
+         you and your silly English K...kaniggets.
+   He puts hands to his ears and blows a raspberry.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.370 b/7.2.370
new file mode 100644 (file)
index 0000000..3e8457e
--- /dev/null
+++ b/7.2.370
@@ -0,0 +1,156 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.370
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.370 (after 7.2.356)
+Problem:    A redraw may cause folds to be closed.
+Solution:   Revert part of the previous patch.  Add a test. (Lech Lorens)
+Files:     src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in,
+           src/testdir/test45.ok
+
+
+*** ../vim-7.2.369/src/diff.c  2009-07-22 16:22:33.000000000 +0200
+--- src/diff.c 2010-02-24 14:31:12.000000000 +0100
+***************
+*** 1117,1142 ****
+      win_T    *wp;
+      int              addbuf;         /* Add buffer to diff. */
+  {
+      wp->w_p_diff = TRUE;
+      wp->w_p_scb = TRUE;
+      wp->w_p_wrap = FALSE;
+  # ifdef FEAT_FOLDING
+!     {
+!      win_T       *old_curwin = curwin;
+! 
+!      curwin = wp;
+!      curbuf = curwin->w_buffer;
+!      set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
+                                                      OPT_LOCAL|OPT_FREE, 0);
+!      curwin = old_curwin;
+!      curbuf = curwin->w_buffer;
+!      wp->w_p_fdc = diff_foldcolumn;
+!      wp->w_p_fen = TRUE;
+!      wp->w_p_fdl = 0;
+!      foldUpdateAll(wp);
+!      /* make sure topline is not halfway a fold */
+!      changed_window_setting_win(wp);
+!     }
+  # endif
+  #ifdef FEAT_SCROLLBIND
+      if (vim_strchr(p_sbo, 'h') == NULL)
+--- 1117,1147 ----
+      win_T    *wp;
+      int              addbuf;         /* Add buffer to diff. */
+  {
++ # ifdef FEAT_FOLDING
++     win_T *old_curwin = curwin;
++ 
++     /* close the manually opened folds */
++     curwin = wp;
++     newFoldLevel();
++     curwin = old_curwin;
++ # endif
++ 
+      wp->w_p_diff = TRUE;
+      wp->w_p_scb = TRUE;
+      wp->w_p_wrap = FALSE;
+  # ifdef FEAT_FOLDING
+!     curwin = wp;
+!     curbuf = curwin->w_buffer;
+!     set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
+                                                      OPT_LOCAL|OPT_FREE, 0);
+!     curwin = old_curwin;
+!     curbuf = curwin->w_buffer;
+!     wp->w_p_fdc = diff_foldcolumn;
+!     wp->w_p_fen = TRUE;
+!     wp->w_p_fdl = 0;
+!     foldUpdateAll(wp);
+!     /* make sure topline is not halfway a fold */
+!     changed_window_setting_win(wp);
+  # endif
+  #ifdef FEAT_SCROLLBIND
+      if (vim_strchr(p_sbo, 'h') == NULL)
+*** ../vim-7.2.369/src/fold.c  2010-02-03 18:14:41.000000000 +0100
+--- src/fold.c 2010-02-24 13:09:04.000000000 +0100
+***************
+*** 854,865 ****
+           && fp->fd_top < bot)
+      {
+       fp->fd_small = MAYBE;
+- 
+-      /* Not sure if this is the right place to reset fd_flags (suggested by
+-       * Lech Lorens). */
+-         if (wp->w_foldinvalid)
+-             fp->fd_flags = FD_LEVEL;
+- 
+       ++fp;
+      }
+  
+--- 854,859 ----
+*** ../vim-7.2.369/src/option.c        2010-02-11 17:02:04.000000000 +0100
+--- src/option.c       2010-02-24 13:09:44.000000000 +0100
+***************
+*** 6586,6592 ****
+--- 6586,6596 ----
+               || *curwin->w_p_fdm == NUL)
+           errmsg = e_invarg;
+       else
++      {
+           foldUpdateAll(curwin);
++          if (foldmethodIsDiff(curwin))
++              newFoldLevel();
++      }
+      }
+  # ifdef FEAT_EVAL
+      /* 'foldexpr' */
+*** ../vim-7.2.369/src/testdir/test45.in       2009-11-03 14:46:35.000000000 +0100
+--- src/testdir/test45.in      2010-02-24 13:02:39.000000000 +0100
+***************
+*** 36,41 ****
+--- 36,43 ----
+  k:call append("$", getline("."))
+  jAcommentstart  \eAcommentend\e:set fdl=1
+  3j:call append("$", getline("."))
++ :set fdl=0
++ zO\fj:call append("$", getline("."))
+  :" test expression folding
+  :fun Flvl()
+    let l = getline(v:lnum)
+*** ../vim-7.2.369/src/testdir/test45.ok       2009-11-03 14:46:35.000000000 +0100
+--- src/testdir/test45.ok      2010-02-24 12:58:55.000000000 +0100
+***************
+*** 11,16 ****
+--- 11,17 ----
+  folding 9 ii
+      3 cc
+  7 gg
++ 8 hh
+  expr 2
+  1
+  2
+*** ../vim-7.2.369/src/version.c       2010-02-24 13:59:09.000000000 +0100
+--- src/version.c      2010-02-24 14:28:20.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     370,
+  /**/
+
+-- 
+MAN:    Fetchez la vache!
+GUARD:  Quoi?
+MAN:    Fetchez la vache!
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.371 b/7.2.371
new file mode 100644 (file)
index 0000000..db875b6
--- /dev/null
+++ b/7.2.371
@@ -0,0 +1,322 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.371
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.371
+Problem:    Build problems on Tandem NonStop.
+Solution:   A few changes to #ifdefs (Joachim Schmitz)
+Files:     src/auto/configure, src/configure.in, src/config.h.in, src/vim.h,
+           src/if_cscope.c, src/osdef1.h.in, src/tag.c
+
+
+*** ../vim-7.2.370/src/auto/configure  2010-02-17 16:23:03.000000000 +0100
+--- src/auto/configure 2010-02-24 14:27:00.000000000 +0100
+***************
+*** 14038,14046 ****
+  
+  
+  
+! 
+! 
+! for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
+       getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
+       memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
+       setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
+--- 14038,14044 ----
+  
+  
+  
+! for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \
+       getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
+       memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
+       setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
+***************
+*** 14146,14151 ****
+--- 14144,14281 ----
+  fi
+  done
+  
++ { $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5
++ $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
++ if test "${ac_cv_sys_largefile_source+set}" = set; then
++   $as_echo_n "(cached) " >&6
++ else
++   while :; do
++   cat >conftest.$ac_ext <<_ACEOF
++ /* confdefs.h.  */
++ _ACEOF
++ cat confdefs.h >>conftest.$ac_ext
++ cat >>conftest.$ac_ext <<_ACEOF
++ /* end confdefs.h.  */
++ #include <sys/types.h> /* for off_t */
++      #include <stdio.h>
++ int
++ main ()
++ {
++ int (*fp) (FILE *, off_t, int) = fseeko;
++      return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
++   ;
++   return 0;
++ }
++ _ACEOF
++ rm -f conftest.$ac_objext conftest$ac_exeext
++ if { (ac_try="$ac_link"
++ case "(($ac_try" in
++   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++   *) ac_try_echo=$ac_try;;
++ esac
++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++ $as_echo "$ac_try_echo") >&5
++   (eval "$ac_link") 2>conftest.er1
++   ac_status=$?
++   grep -v '^ *+' conftest.er1 >conftest.err
++   rm -f conftest.er1
++   cat conftest.err >&5
++   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++   (exit $ac_status); } && {
++       test -z "$ac_c_werror_flag" ||
++       test ! -s conftest.err
++        } && test -s conftest$ac_exeext && {
++       test "$cross_compiling" = yes ||
++       $as_test_x conftest$ac_exeext
++        }; then
++   ac_cv_sys_largefile_source=no; break
++ else
++   $as_echo "$as_me: failed program was:" >&5
++ sed 's/^/| /' conftest.$ac_ext >&5
++ 
++ 
++ fi
++ 
++ rm -rf conftest.dSYM
++ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++       conftest$ac_exeext conftest.$ac_ext
++   cat >conftest.$ac_ext <<_ACEOF
++ /* confdefs.h.  */
++ _ACEOF
++ cat confdefs.h >>conftest.$ac_ext
++ cat >>conftest.$ac_ext <<_ACEOF
++ /* end confdefs.h.  */
++ #define _LARGEFILE_SOURCE 1
++ #include <sys/types.h> /* for off_t */
++      #include <stdio.h>
++ int
++ main ()
++ {
++ int (*fp) (FILE *, off_t, int) = fseeko;
++      return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
++   ;
++   return 0;
++ }
++ _ACEOF
++ rm -f conftest.$ac_objext conftest$ac_exeext
++ if { (ac_try="$ac_link"
++ case "(($ac_try" in
++   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++   *) ac_try_echo=$ac_try;;
++ esac
++ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++ $as_echo "$ac_try_echo") >&5
++   (eval "$ac_link") 2>conftest.er1
++   ac_status=$?
++   grep -v '^ *+' conftest.er1 >conftest.err
++   rm -f conftest.er1
++   cat conftest.err >&5
++   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++   (exit $ac_status); } && {
++       test -z "$ac_c_werror_flag" ||
++       test ! -s conftest.err
++        } && test -s conftest$ac_exeext && {
++       test "$cross_compiling" = yes ||
++       $as_test_x conftest$ac_exeext
++        }; then
++   ac_cv_sys_largefile_source=1; break
++ else
++   $as_echo "$as_me: failed program was:" >&5
++ sed 's/^/| /' conftest.$ac_ext >&5
++ 
++ 
++ fi
++ 
++ rm -rf conftest.dSYM
++ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++       conftest$ac_exeext conftest.$ac_ext
++   ac_cv_sys_largefile_source=unknown
++   break
++ done
++ fi
++ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5
++ $as_echo "$ac_cv_sys_largefile_source" >&6; }
++ case $ac_cv_sys_largefile_source in #(
++   no | unknown) ;;
++   *)
++ cat >>confdefs.h <<_ACEOF
++ #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source
++ _ACEOF
++ ;;
++ esac
++ rm -rf conftest*
++ 
++ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
++ # in glibc 2.1.3, but that breaks too many other things.
++ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
++ if test $ac_cv_sys_largefile_source != unknown; then
++ 
++ cat >>confdefs.h <<\_ACEOF
++ #define HAVE_FSEEKO 1
++ _ACEOF
++ 
++ fi
++ 
+  
+  { $as_echo "$as_me:$LINENO: checking for st_blksize" >&5
+  $as_echo_n "checking for st_blksize... " >&6; }
+*** ../vim-7.2.370/src/configure.in    2010-02-17 16:23:03.000000000 +0100
+--- src/configure.in   2010-02-24 14:18:49.000000000 +0100
+***************
+*** 2642,2655 ****
+    AC_DEFINE(BAD_GETCWD)
+  fi
+  
+! dnl Check for functions in one big call, to reduce the size of configure
+! AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
+       getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
+       memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
+       setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
+       sigvec strcasecmp strerror strftime stricmp strncasecmp \
+       strnicmp strpbrk strtol tgetent towlower towupper iswupper \
+       usleep utime utimes)
+  
+  dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
+  AC_MSG_CHECKING(for st_blksize)
+--- 2642,2657 ----
+    AC_DEFINE(BAD_GETCWD)
+  fi
+  
+! dnl Check for functions in one big call, to reduce the size of configure.
+! dnl Can only be used for functions that do not require any include.
+! AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \
+       getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
+       memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \
+       setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
+       sigvec strcasecmp strerror strftime stricmp strncasecmp \
+       strnicmp strpbrk strtol tgetent towlower towupper iswupper \
+       usleep utime utimes)
++ AC_FUNC_FSEEKO
+  
+  dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
+  AC_MSG_CHECKING(for st_blksize)
+*** ../vim-7.2.370/src/config.h.in     2009-11-17 17:13:03.000000000 +0100
+--- src/config.h.in    2010-02-24 14:20:26.000000000 +0100
+***************
+*** 144,150 ****
+  #undef HAVE_FCHOWN
+  #undef HAVE_FSEEKO
+  #undef HAVE_FSYNC
+- #undef HAVE_FTELLO
+  #undef HAVE_GETCWD
+  #undef HAVE_GETPSEUDOTTY
+  #undef HAVE_GETPWNAM
+--- 144,149 ----
+*** ../vim-7.2.370/src/vim.h   2010-02-03 15:14:15.000000000 +0100
+--- src/vim.h  2010-02-24 14:08:14.000000000 +0100
+***************
+*** 52,58 ****
+  
+  /* user ID of root is usually zero, but not for everybody */
+  #ifdef __TANDEM
+! # define _TANDEM_SOURCE
+  # include <floss.h>
+  # define ROOT_UID 65535
+  #else
+--- 52,60 ----
+  
+  /* user ID of root is usually zero, but not for everybody */
+  #ifdef __TANDEM
+! # ifndef _TANDEM_SOURCE
+! #  define _TANDEM_SOURCE
+! # endif
+  # include <floss.h>
+  # define ROOT_UID 65535
+  #else
+*** ../vim-7.2.370/src/if_cscope.c     2010-01-19 14:59:14.000000000 +0100
+--- src/if_cscope.c    2010-02-24 14:10:21.000000000 +0100
+***************
+*** 2278,2284 ****
+--- 2278,2288 ----
+       /* Use sigaction() to limit the waiting time to two seconds. */
+       sigemptyset(&sa.sa_mask);
+       sa.sa_handler = sig_handler;
++ #  ifdef SA_NODEFER
+       sa.sa_flags = SA_NODEFER;
++ #  else
++      sa.sa_flags = 0;
++ #  endif
+       sigaction(SIGALRM, &sa, &old);
+       alarm(2); /* 2 sec timeout */
+  
+*** ../vim-7.2.370/src/osdef1.h.in     2007-02-27 16:47:59.000000000 +0100
+--- src/osdef1.h.in    2010-02-24 14:20:50.000000000 +0100
+***************
+*** 25,31 ****
+  extern int   fseeko __ARGS((FILE *, off_t, int));
+  #endif
+  extern long  ftell __ARGS((FILE *));
+! #ifdef HAVE_FTELLO
+  extern off_t ftello __ARGS((FILE *));
+  #endif
+  extern void  rewind __ARGS((FILE *));
+--- 25,31 ----
+  extern int   fseeko __ARGS((FILE *, off_t, int));
+  #endif
+  extern long  ftell __ARGS((FILE *));
+! #ifdef HAVE_FSEEKO
+  extern off_t ftello __ARGS((FILE *));
+  #endif
+  extern void  rewind __ARGS((FILE *));
+*** ../vim-7.2.370/src/tag.c   2009-05-17 13:30:58.000000000 +0200
+--- src/tag.c  2010-02-24 14:20:12.000000000 +0100
+***************
+*** 90,97 ****
+  /*
+   * We use ftello() here, if available.  It returns off_t instead of long,
+   * which helps if long is 32 bit and off_t is 64 bit.
+   */
+! #ifdef HAVE_FTELLO
+  # define ftell ftello
+  #endif
+  
+--- 90,98 ----
+  /*
+   * We use ftello() here, if available.  It returns off_t instead of long,
+   * which helps if long is 32 bit and off_t is 64 bit.
++  * We assume that when fseeko() is available then ftello() is too.
+   */
+! #ifdef HAVE_FSEEKO
+  # define ftell ftello
+  #endif
+  
+*** ../vim-7.2.370/src/version.c       2010-02-24 14:34:10.000000000 +0100
+--- src/version.c      2010-02-24 14:45:37.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     371,
+  /**/
+
+-- 
+   A cow comes flying over the battlements,  lowing aggressively.  The cow
+   lands on GALAHAD'S PAGE, squashing him completely.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.372 b/7.2.372
new file mode 100644 (file)
index 0000000..064893c
--- /dev/null
+++ b/7.2.372
@@ -0,0 +1,303 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.372 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.372 (extra)
+Problem:    Cross-compiling GvimExt and xxd doesn't work.
+Solution:   Change the build files. (Markus Heidelberg)
+Files:     src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak,
+           src/Make_ming.mak, src/xxd/Make_cyg.mak
+
+
+*** ../vim-7.2.371/src/INSTALLpc.txt   2008-07-13 19:20:53.000000000 +0200
+--- src/INSTALLpc.txt  2010-01-19 12:37:03.000000000 +0100
+***************
+*** 215,222 ****
+  
+  You should not need to do *any* editing of any files to get vim compiled this
+  way.  If, for some reason, you want the console-mode-only version of vim (this
+! is NOT recommended on Win32, especially on '95/'98!!!), you need only change
+! the 'gvim.exe' to 'vim.exe' in the 'make' commands given above.
+  
+  If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
+  (also free!) and compress the file (typical compression is 50%). UPX can be
+--- 215,223 ----
+  
+  You should not need to do *any* editing of any files to get vim compiled this
+  way.  If, for some reason, you want the console-mode-only version of vim (this
+! is NOT recommended on Win32, especially on '95/'98!!!), you can use:
+! 
+!     make -f Make_ming.mak GUI=no vim.exe
+  
+  If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
+  (also free!) and compress the file (typical compression is 50%). UPX can be
+***************
+*** 240,246 ****
+  The Cygnus one many not fully work yet.
+  With Cygnus gcc you can use the Unix Makefile instead (you need to get the
+  Unix archive then).  Then you get a Cygwin application (feels like Vim is
+! runnin on Unix), while with Make_cyg.mak you get a Windows application (like
+  with the other makefiles).
+  
+  
+--- 241,247 ----
+  The Cygnus one many not fully work yet.
+  With Cygnus gcc you can use the Unix Makefile instead (you need to get the
+  Unix archive then).  Then you get a Cygwin application (feels like Vim is
+! running on Unix), while with Make_cyg.mak you get a Windows application (like
+  with the other makefiles).
+  
+  
+***************
+*** 259,268 ****
+--- 260,272 ----
+  If you like, you can compile the 'mingw' Win32 version from the comfort of
+  your Linux (or other unix) box.  To do this, you need to follow a few steps:
+      1) Install the mingw32 cross-compiler. See
++      http://www.mingw.org/wiki/LinuxCrossMinGW
+       http://www.libsdl.org/extras/win32/cross/README.txt
+      2) Get and unpack both the Unix sources and the extra archive
+      3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
+         Make further changes to 'Make_ming.mak' as you wish.
++        If your cross-compiler prefix differs from the predefined value,
++        set 'CROSS_COMPILE' corresponding.
+      4) make -f Make_ming.mak gvim.exe
+  
+  Now you have created the Windows binary from your Linux box!  Have fun...
+*** ../vim-7.2.371/src/GvimExt/Make_ming.mak   2005-01-09 22:15:44.000000000 +0100
+--- src/GvimExt/Make_ming.mak  2010-02-24 14:56:37.000000000 +0100
+***************
+*** 20,36 ****
+  ifeq ($(CROSS),yes)
+  DEL = rm
+  ifeq ($(MINGWOLD),yes)
+- CXX = i586-mingw32msvc-g++
+  CXXFLAGS := -O2 -mno-cygwin -fvtable-thunks
+- WINDRES = i586-mingw32msvc-windres
+  else
+- CXX = i386-mingw32msvc-g++
+  CXXFLAGS := -O2 -mno-cygwin
+- WINDRES = i386-mingw32msvc-windres
+  endif
+  else
+- CXX := g++
+- WINDRES := windres
+  CXXFLAGS := -O2 -mno-cygwin
+  ifneq (sh.exe, $(SHELL))
+  DEL = rm
+--- 20,30 ----
+***************
+*** 38,43 ****
+--- 32,39 ----
+  DEL = del
+  endif
+  endif
++ CXX := $(CROSS_COMPILE)g++
++ WINDRES := $(CROSS_COMPILE)windres
+  LIBS :=  -luuid
+  RES  := gvimext.res
+  DEFFILE = gvimext_ming.def
+*** ../vim-7.2.371/src/Make_cyg.mak    2009-09-11 12:48:56.000000000 +0200
+--- src/Make_cyg.mak   2010-02-24 14:59:02.000000000 +0100
+***************
+*** 1,6 ****
+  #
+  # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp.  Last Change: 2007 Sep 29
+  #
+  # Also read INSTALLpc.txt!
+  #
+--- 1,6 ----
+  #
+  # Makefile for VIM on Win32, using Cygnus gcc
+! # Last updated by Dan Sharp.  Last Change: 2010 Feb 24
+  #
+  # Also read INSTALLpc.txt!
+  #
+***************
+*** 32,40 ****
+  # OLE                no or yes: set to yes to make OLE gvim (no)
+  # DEBUG              no or yes: set to yes if you wish a DEBUGging build (no)
+  # CPUNR              No longer supported, use ARCH.
+! # ARCH               i386 through pentium4: select -march argument to compile with (i386)
+  # USEDLL     no or yes: set to yes to use the Runtime library DLL (no)
+  #            For USEDLL=yes the cygwin1.dll is required to run Vim.
+  # POSTSCRIPT no or yes: set to yes for PostScript printing (no)
+  # FEATURES   TINY, SMALL, NORMAL, BIG or HUGE (BIG)
+  # WINVER     Lowest Win32 version to support.  (0x0400)
+--- 32,43 ----
+  # OLE                no or yes: set to yes to make OLE gvim (no)
+  # DEBUG              no or yes: set to yes if you wish a DEBUGging build (no)
+  # CPUNR              No longer supported, use ARCH.
+! # ARCH               i386 through pentium4: select -march argument to compile with
+! #               (i386)
+  # USEDLL     no or yes: set to yes to use the Runtime library DLL (no)
+  #            For USEDLL=yes the cygwin1.dll is required to run Vim.
++ #            "no" does not work with latest version of Cygwin, use
++ #            Make_ming.mak instead.  Or set CC to gcc-3.
+  # POSTSCRIPT no or yes: set to yes for PostScript printing (no)
+  # FEATURES   TINY, SMALL, NORMAL, BIG or HUGE (BIG)
+  # WINVER     Lowest Win32 version to support.  (0x0400)
+***************
+*** 99,104 ****
+--- 102,108 ----
+  INCLUDES = -march=$(ARCH) -Iproto
+  
+  #>>>>> name of the compiler and linker, name of lib directory
++ CROSS_COMPILE =
+  CC = gcc
+  RC = windres
+  
+***************
+*** 467,476 ****
+       $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
+  
+  xxd/xxd.exe: xxd/xxd.c
+!      $(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL)
+  
+  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
+!      $(MAKE) -C GvimExt -f Make_ming.mak
+  
+  vimrun.exe: vimrun.c
+       $(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
+--- 471,480 ----
+       $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
+  
+  xxd/xxd.exe: xxd/xxd.c
+!      $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
+  
+  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
+!      $(MAKE) -C GvimExt -f Make_ming.mak CROSS_COMPILE=$(CROSS_COMPILE)
+  
+  vimrun.exe: vimrun.c
+       $(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
+*** ../vim-7.2.371/src/Make_ming.mak   2009-09-11 12:48:56.000000000 +0200
+--- src/Make_ming.mak  2010-02-24 15:01:31.000000000 +0100
+***************
+*** 241,255 ****
+  DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
+       -DHAVE_PATHDEF -DFEAT_$(FEATURES)
+  ifeq ($(CROSS),yes)
+! # cross-compiler:
+! CC = i586-pc-mingw32msvc-gcc
+  DEL = rm
+  MKDIR = mkdir -p
+! WINDRES = i586-pc-mingw32msvc-windres
+  else
+  # normal (Windows) compilation:
+- CC = gcc
+  ifneq (sh.exe, $(SHELL))
+  DEL = rm
+  MKDIR = mkdir -p
+  DIRSLASH = /
+--- 241,255 ----
+  DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
+       -DHAVE_PATHDEF -DFEAT_$(FEATURES)
+  ifeq ($(CROSS),yes)
+! # cross-compiler prefix:
+! CROSS_COMPILE = i586-pc-mingw32msvc-
+  DEL = rm
+  MKDIR = mkdir -p
+! DIRSLASH = /
+  else
+  # normal (Windows) compilation:
+  ifneq (sh.exe, $(SHELL))
++ CROSS_COMPILE =
+  DEL = rm
+  MKDIR = mkdir -p
+  DIRSLASH = /
+***************
+*** 258,265 ****
+  MKDIR = mkdir
+  DIRSLASH = \\
+  endif
+- WINDRES = windres
+  endif
+  
+  #>>>>> end of choices
+  ###########################################################################
+--- 258,266 ----
+  MKDIR = mkdir
+  DIRSLASH = \\
+  endif
+  endif
++ CC := $(CROSS_COMPILE)gcc
++ WINDRES := $(CROSS_COMPILE)windres
+  
+  #>>>>> end of choices
+  ###########################################################################
+***************
+*** 549,558 ****
+       upx vim.exe
+  
+  xxd/xxd.exe: xxd/xxd.c
+!      $(MAKE) -C xxd -f Make_cyg.mak
+  
+  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
+       $(MAKE) -C GvimExt -f Make_ming.mak
+  
+  clean:
+       -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
+--- 550,560 ----
+       upx vim.exe
+  
+  xxd/xxd.exe: xxd/xxd.c
+!      $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC)
+  
+  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
+       $(MAKE) -C GvimExt -f Make_ming.mak
++      $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
+  
+  clean:
+       -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
+*** ../vim-7.2.371/src/xxd/Make_cyg.mak        2004-06-13 17:48:52.000000000 +0200
+--- src/xxd/Make_cyg.mak       2010-02-24 15:05:24.000000000 +0100
+***************
+*** 12,17 ****
+--- 12,18 ----
+  LIBS    =
+  endif
+  
++ CC = gcc
+  CFLAGS = -O2 -Wall -DWIN32 $(DEFINES)
+  
+  ifneq (sh.exe, $(SHELL))
+***************
+*** 21,27 ****
+  endif
+  
+  xxd.exe: xxd.c
+!      gcc $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
+  
+  clean:
+       -$(DEL) xxd.exe
+--- 22,28 ----
+  endif
+  
+  xxd.exe: xxd.c
+!      $(CC) $(CFLAGS) -s -o xxd.exe xxd.c $(LIBS)
+  
+  clean:
+       -$(DEL) xxd.exe
+*** ../vim-7.2.371/src/version.c       2010-02-24 14:46:58.000000000 +0100
+--- src/version.c      2010-02-24 15:05:48.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     372,
+  /**/
+
+-- 
+Ten bugs in the hand is better than one as yet undetected.
+
+ /// 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.373 b/7.2.373
new file mode 100644 (file)
index 0000000..1bb4773
--- /dev/null
+++ b/7.2.373
@@ -0,0 +1,54 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.373
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.373
+Problem:    Gcc 4.5 adds more error messages. (Chris Indy)
+Solution:   Update default 'errorformat'.
+Files:     src/option.h
+
+
+*** ../vim-7.2.372/src/option.h        2008-06-24 23:59:49.000000000 +0200
+--- src/option.h       2010-02-24 15:20:03.000000000 +0100
+***************
+*** 33,39 ****
+  #     ifdef EBCDIC
+  #define DFLT_EFM     "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+  #     else
+! #define DFLT_EFM     "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+  #     endif
+  #    endif
+  #   endif
+--- 33,39 ----
+  #     ifdef EBCDIC
+  #define DFLT_EFM     "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+  #     else
+! #define DFLT_EFM     "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+  #     endif
+  #    endif
+  #   endif
+*** ../vim-7.2.372/src/version.c       2010-02-24 15:07:45.000000000 +0100
+--- src/version.c      2010-02-24 15:24:43.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     373,
+  /**/
+
+-- 
+ARTHUR: Right! Knights! Forward!
+   ARTHUR leads a charge toward the castle.  Various shots of them battling on,
+   despite being hit by a variety of farm animals.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.374 b/7.2.374
new file mode 100644 (file)
index 0000000..50d3e74
--- /dev/null
+++ b/7.2.374
@@ -0,0 +1,168 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.374
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.374
+Problem:    Ruby eval() doesn't understand Vim types.
+Solution:   Add the vim_to_ruby() function.  (George Gensure)
+Files:     src/eval.c, src/if_ruby.c
+
+
+*** ../vim-7.2.373/src/eval.c  2010-01-19 15:51:29.000000000 +0100
+--- src/eval.c 2010-02-24 15:36:40.000000000 +0100
+***************
+*** 5872,5878 ****
+      return item1 == NULL && item2 == NULL;
+  }
+  
+! #if defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) || defined(PROTO)
+  /*
+   * Return the dictitem that an entry in a hashtable points to.
+   */
+--- 5872,5879 ----
+      return item1 == NULL && item2 == NULL;
+  }
+  
+! #if defined(FEAT_RUBY) || defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) \
+!      || defined(PROTO)
+  /*
+   * Return the dictitem that an entry in a hashtable points to.
+   */
+*** ../vim-7.2.373/src/if_ruby.c       2010-02-18 15:51:25.000000000 +0100
+--- src/if_ruby.c      2010-02-24 15:45:15.000000000 +0100
+***************
+*** 660,679 ****
+      return Qnil;
+  }
+  
+  static VALUE vim_evaluate(VALUE self UNUSED, VALUE str)
+  {
+  #ifdef FEAT_EVAL
+!     char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE);
+  
+!     if (value != NULL)
+      {
+!      VALUE val = rb_str_new2((char *)value);
+!      vim_free(value);
+!      return val;
+      }
+!     else
+  #endif
+-      return Qnil;
+  }
+  
+  static VALUE buffer_new(buf_T *buf)
+--- 660,747 ----
+      return Qnil;
+  }
+  
++ #ifdef FEAT_EVAL
++ static VALUE vim_to_ruby(typval_T *tv)
++ {
++     VALUE result = Qnil;
++ 
++     if (tv->v_type == VAR_STRING)
++     {
++         result = rb_str_new2((char *)tv->vval.v_string);
++     }
++     else if (tv->v_type == VAR_NUMBER)
++     {
++         result = INT2NUM(tv->vval.v_number);
++     }
++ # ifdef FEAT_FLOAT
++     else if (tv->v_type == VAR_FLOAT)
++     {
++         result = rb_float_new(tv->vval.v_float);
++     }
++ # endif
++     else if (tv->v_type == VAR_LIST)
++     {
++         list_T      *list = tv->vval.v_list;
++         listitem_T  *curr;
++ 
++         result = rb_ary_new();
++ 
++         if (list != NULL)
++         {
++             for (curr = list->lv_first; curr != NULL; curr = curr->li_next)
++             {
++                 rb_ary_push(result, vim_to_ruby(&curr->li_tv));
++             }
++         }
++     }
++     else if (tv->v_type == VAR_DICT)
++     {
++         result = rb_hash_new();
++ 
++         if (tv->vval.v_dict != NULL)
++         {
++             hashtab_T   *ht = &tv->vval.v_dict->dv_hashtab;
++             long_u      todo = ht->ht_used;
++             hashitem_T  *hi;
++             dictitem_T  *di;
++ 
++             for (hi = ht->ht_array; todo > 0; ++hi)
++             {
++                 if (!HASHITEM_EMPTY(hi))
++                 {
++                     --todo;
++ 
++                     di = dict_lookup(hi);
++                     rb_hash_aset(result, rb_str_new2((char *)hi->hi_key),
++                                                   vim_to_ruby(&di->di_tv));
++                 }
++             }
++         }
++     } /* else return Qnil; */
++ 
++     return result;
++ }
++ #endif
++ 
+  static VALUE vim_evaluate(VALUE self UNUSED, VALUE str)
+  {
+  #ifdef FEAT_EVAL
+!     typval_T    *tv;
+!     VALUE       result;
+  
+!     tv = eval_expr((char_u *)StringValuePtr(str), NULL);
+!     if (tv == NULL)
+      {
+!         return Qnil;
+      }
+!     result = vim_to_ruby(tv);
+! 
+!     free_tv(tv);
+! 
+!     return result;
+! #else
+!     return Qnil;
+  #endif
+  }
+  
+  static VALUE buffer_new(buf_T *buf)
+*** ../vim-7.2.373/src/version.c       2010-02-24 15:25:13.000000000 +0100
+--- src/version.c      2010-02-24 15:46:57.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     374,
+  /**/
+
+-- 
+ARTHUR: (as the MAN next to him is squashed by a sheep) Knights!  Run away!
+   Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the odd
+   cow or goose hitting them still.  The KNIGHTS crouch down under cover.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        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.375 b/7.2.375
new file mode 100644 (file)
index 0000000..3374cd1
--- /dev/null
+++ b/7.2.375
@@ -0,0 +1,64 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.375
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.375
+Problem:    ml_get errors when using ":bprevious" in a BufEnter autocmd.
+           (Dominique Pelle)
+Solution:   Clear w_valid when entering another buffer.
+Files:     src/buffer.c
+
+
+*** ../vim-7.2.374/src/buffer.c        2010-01-19 14:59:14.000000000 +0100
+--- src/buffer.c       2010-02-24 16:29:22.000000000 +0100
+***************
+*** 115,121 ****
+  #endif
+  
+      /* mark cursor position as being invalid */
+!     changed_line_abv_curs();
+  
+      if (curbuf->b_ffname != NULL
+  #ifdef FEAT_NETBEANS_INTG
+--- 115,121 ----
+  #endif
+  
+      /* mark cursor position as being invalid */
+!     curwin->w_valid = 0;
+  
+      if (curbuf->b_ffname != NULL
+  #ifdef FEAT_NETBEANS_INTG
+***************
+*** 1399,1404 ****
+--- 1399,1407 ----
+      curwin->w_topline_was_set = FALSE;
+  #endif
+  
++     /* mark cursor position as being invalid */
++     curwin->w_valid = 0;
++ 
+      /* Make sure the buffer is loaded. */
+      if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */
+      {
+*** ../vim-7.2.374/src/version.c       2010-02-24 15:47:58.000000000 +0100
+--- src/version.c      2010-02-24 16:30:03.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     375,
+  /**/
+
+-- 
+Error:015 - Unable to exit Windows.  Try the door.
+
+ /// 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.376 b/7.2.376
new file mode 100644 (file)
index 0000000..718875b
--- /dev/null
+++ b/7.2.376
@@ -0,0 +1,50 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.376
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.376
+Problem:    ml_get error when using SiSU syntax. (Nathan Thomas)
+Solution:   If the match ends below the last line move it to the end of the
+           last line.
+Files:     src/syntax.c
+
+
+*** ../vim-7.2.375/src/syntax.c        2010-01-19 14:59:14.000000000 +0100
+--- src/syntax.c       2010-02-24 17:14:13.000000000 +0100
+***************
+*** 3086,3091 ****
+--- 3086,3097 ----
+       col = regmatch->startpos[0].col;
+       off = spp->sp_offsets[idx];
+      }
++     if (result->lnum > syn_buf->b_ml.ml_line_count)
++     {
++      /* a "\n" at the end of the pattern may take us below the last line */
++      result->lnum = syn_buf->b_ml.ml_line_count;
++      col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE));
++     }
+      if (off != 0)
+      {
+       base = ml_get_buf(syn_buf, result->lnum, FALSE);
+*** ../vim-7.2.375/src/version.c       2010-02-24 16:58:30.000000000 +0100
+--- src/version.c      2010-02-24 17:15:48.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     376,
+  /**/
+
+-- 
+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.2.377 b/7.2.377
new file mode 100644 (file)
index 0000000..e854ce7
--- /dev/null
+++ b/7.2.377
@@ -0,0 +1,66 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.377 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.377 (extra, after 7.2.372)
+Problem:    Misplaced assignment.  Duplicate build line for gvimext.dll.
+Solution:   Move setting CROSS_COMPILE to before ifneq.  Remove the wrong
+           build line. (Markus Heidelberg)
+Files:     src/Make_ming.mak
+
+
+*** ../vim-7.2.376/src/Make_ming.mak   2010-02-24 15:07:45.000000000 +0100
+--- src/Make_ming.mak  2010-02-26 22:01:07.000000000 +0100
+***************
+*** 248,255 ****
+  DIRSLASH = /
+  else
+  # normal (Windows) compilation:
+- ifneq (sh.exe, $(SHELL))
+  CROSS_COMPILE =
+  DEL = rm
+  MKDIR = mkdir -p
+  DIRSLASH = /
+--- 248,255 ----
+  DIRSLASH = /
+  else
+  # normal (Windows) compilation:
+  CROSS_COMPILE =
++ ifneq (sh.exe, $(SHELL))
+  DEL = rm
+  MKDIR = mkdir -p
+  DIRSLASH = /
+***************
+*** 553,559 ****
+       $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC)
+  
+  GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
+-      $(MAKE) -C GvimExt -f Make_ming.mak
+       $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
+  
+  clean:
+--- 553,558 ----
+*** ../vim-7.2.376/src/version.c       2010-02-24 17:22:14.000000000 +0100
+--- src/version.c      2010-02-26 22:01:45.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     377,
+  /**/
+
+-- 
+FIRST HEAD: All right! All right! We'll kill him first and then have tea and
+            biscuits.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.378 b/7.2.378
new file mode 100644 (file)
index 0000000..de2251f
--- /dev/null
+++ b/7.2.378
@@ -0,0 +1,69 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.378
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.378
+Problem:    C function declaration indented too much. (Rui)
+Solution:   Don't see a line containing { or } as a type. (Matt Wozniski)
+Files:     src/misc1.c
+
+
+*** ../vim-7.2.377/src/misc1.c 2010-01-06 17:46:03.000000000 +0100
+--- src/misc1.c        2010-02-26 22:36:50.000000000 +0100
+***************
+*** 7727,7737 ****
+       /*
+        * If the NEXT line is a function declaration, the current
+        * line needs to be indented as a function type spec.
+!       * Don't do this if the current line looks like a comment
+!       * or if the current line is terminated, ie. ends in ';'.
+        */
+       else if (cur_curpos.lnum < curbuf->b_ml.ml_line_count
+               && !cin_nocode(theline)
+               && !cin_ends_in(theline, (char_u *)":", NULL)
+               && !cin_ends_in(theline, (char_u *)",", NULL)
+               && cin_isfuncdecl(NULL, cur_curpos.lnum + 1)
+--- 7727,7740 ----
+       /*
+        * If the NEXT line is a function declaration, the current
+        * line needs to be indented as a function type spec.
+!       * Don't do this if the current line looks like a comment or if the
+!       * current line is terminated, ie. ends in ';', or if the current line
+!       * contains { or }: "void f() {\n if (1)"
+        */
+       else if (cur_curpos.lnum < curbuf->b_ml.ml_line_count
+               && !cin_nocode(theline)
++              && vim_strchr(theline, '{') == NULL
++              && vim_strchr(theline, '}') == NULL
+               && !cin_ends_in(theline, (char_u *)":", NULL)
+               && !cin_ends_in(theline, (char_u *)",", NULL)
+               && cin_isfuncdecl(NULL, cur_curpos.lnum + 1)
+*** ../vim-7.2.377/src/version.c       2010-02-26 22:05:17.000000000 +0100
+--- src/version.c      2010-03-02 12:30:30.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     378,
+  /**/
+
+-- 
+   An extraordinary TALL KNIGHT in all black (possibly John with Mike on his
+   shoulders) walks out from the dark trees.  He is extremely fierce and
+   gruesome countenance.  He walks towards KING ARTHUR and PATSY, who are
+   wazzing like mad.  (Salopian slang, meaning very scared.  almost to the
+   point of wetting oneself, e.g. before an important football match or
+   prior to a postering.  Salopian slang meaning a beating by the school
+   praeposters.  Sorry about the Salopian slant to this stage direction - Ed.)
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.379 b/7.2.379
new file mode 100644 (file)
index 0000000..8a600e9
--- /dev/null
+++ b/7.2.379
@@ -0,0 +1,55 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.379
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.379
+Problem:    'eventignore' is set to an invalid value inside ":doau". (Antony
+           Scriven)
+Solution:   Don't include the leading comma when the option was empty.
+Files:     src/fileio.c
+
+
+*** ../vim-7.2.378/src/fileio.c        2010-01-19 14:59:14.000000000 +0100
+--- src/fileio.c       2010-03-01 21:01:04.000000000 +0100
+***************
+*** 7925,7931 ****
+       new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what)));
+       if (new_ei != NULL)
+       {
+!          STRCAT(new_ei, what);
+           set_string_option_direct((char_u *)"ei", -1, new_ei,
+                                                         OPT_FREE, SID_NONE);
+           vim_free(new_ei);
+--- 7925,7934 ----
+       new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what)));
+       if (new_ei != NULL)
+       {
+!          if (*what == ',' && *p_ei == NUL)
+!              STRCPY(new_ei, what + 1);
+!          else
+!              STRCAT(new_ei, what);
+           set_string_option_direct((char_u *)"ei", -1, new_ei,
+                                                         OPT_FREE, SID_NONE);
+           vim_free(new_ei);
+*** ../vim-7.2.378/src/version.c       2010-03-02 12:37:01.000000000 +0100
+--- src/version.c      2010-03-02 12:46:45.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     379,
+  /**/
+
+-- 
+Back up my hard drive?  I can't find the reverse switch!
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.380 b/7.2.380
new file mode 100644 (file)
index 0000000..2cdd831
--- /dev/null
+++ b/7.2.380
@@ -0,0 +1,104 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.380
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.380 (after 7.2.363)
+Problem:    Perl interface builds with 5.10.1 but not with 5.10.0.
+Solution:   Change the #ifdefs. (Sergey Khorev)
+Files:     src/if_perl.xs
+
+
+*** ../vim-7.2.379/src/if_perl.xs      2010-02-17 16:40:47.000000000 +0100
+--- src/if_perl.xs     2010-03-02 15:07:01.000000000 +0100
+***************
+*** 62,67 ****
+--- 62,72 ----
+  # define PERL589_OR_LATER
+  #endif
+  
++ #if (PERL_REVISION == 5) && ((PERL_VERSION > 10) || \
++     (PERL_VERSION == 10) && (PERL_SUBVERSION >= 1))
++ # define PERL5101_OR_LATER
++ #endif
++ 
+  #ifndef pTHX
+  #    define pTHX void
+  #    define pTHX_
+***************
+*** 93,99 ****
+  # define perl_free dll_perl_free
+  # define Perl_get_context dll_Perl_get_context
+  # define Perl_croak dll_Perl_croak
+! # if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+  #  define Perl_croak_xs_usage dll_Perl_croak_xs_usage
+  # endif
+  # ifndef PROTO
+--- 98,104 ----
+  # define perl_free dll_perl_free
+  # define Perl_get_context dll_Perl_get_context
+  # define Perl_croak dll_Perl_croak
+! # ifdef PERL5101_OR_LATER
+  #  define Perl_croak_xs_usage dll_Perl_croak_xs_usage
+  # endif
+  # ifndef PROTO
+***************
+*** 205,211 ****
+  static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
+  static void* (*Perl_get_context)(void);
+  static void (*Perl_croak)(pTHX_ const char*, ...);
+! #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+  static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
+  #endif
+  static void (*Perl_croak_nocontext)(const char*, ...);
+--- 210,216 ----
+  static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
+  static void* (*Perl_get_context)(void);
+  static void (*Perl_croak)(pTHX_ const char*, ...);
+! #ifdef PERL5101_OR_LATER
+  static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params);
+  #endif
+  static void (*Perl_croak_nocontext)(const char*, ...);
+***************
+*** 312,318 ****
+      {"perl_parse", (PERL_PROC*)&perl_parse},
+      {"Perl_get_context", (PERL_PROC*)&Perl_get_context},
+      {"Perl_croak", (PERL_PROC*)&Perl_croak},
+! #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
+      {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
+  #endif
+      {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
+--- 317,323 ----
+      {"perl_parse", (PERL_PROC*)&perl_parse},
+      {"Perl_get_context", (PERL_PROC*)&Perl_get_context},
+      {"Perl_croak", (PERL_PROC*)&Perl_croak},
+! #ifdef PERL5101_OR_LATER
+      {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage},
+  #endif
+      {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext},
+*** ../vim-7.2.379/src/version.c       2010-03-02 12:47:58.000000000 +0100
+--- src/version.c      2010-03-02 15:13:21.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     380,
+  /**/
+
+-- 
+FATHER:       Make sure the Prince doesn't leave this room until I come and
+              get him.
+FIRST GUARD:  Not ... to leave the room ... even if you come and get him.
+FATHER:       No.  Until I come and get him.
+SECOND GUARD: Hic.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
diff --git a/7.2.381 b/7.2.381
new file mode 100644 (file)
index 0000000..977a8ec
--- /dev/null
+++ b/7.2.381
@@ -0,0 +1,218 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.381
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.381
+Problem:    No completion for :behave.
+Solution:   Add :behave completion.  Minor related fixes. (Dominique Pelle)
+Files:     src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h
+
+
+*** ../vim-7.2.380/src/ex_docmd.c      2010-02-03 15:14:15.000000000 +0100
+--- src/ex_docmd.c     2010-03-02 15:55:05.000000000 +0100
+***************
+*** 26,35 ****
+      long_u   uc_argt;        /* The argument type */
+      char_u   *uc_rep;        /* The command's replacement string */
+      long     uc_def;         /* The default value for a range/count */
+-     scid_T   uc_scriptID;    /* SID where the command was defined */
+      int              uc_compl;       /* completion type */
+! # if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
+      char_u   *uc_compl_arg;  /* completion argument if any */
+  # endif
+  } ucmd_T;
+  
+--- 26,37 ----
+      long_u   uc_argt;        /* The argument type */
+      char_u   *uc_rep;        /* The command's replacement string */
+      long     uc_def;         /* The default value for a range/count */
+      int              uc_compl;       /* completion type */
+! # ifdef FEAT_EVAL
+!     scid_T   uc_scriptID;    /* SID where the command was defined */
+! #  ifdef FEAT_CMDL_COMPL
+      char_u   *uc_compl_arg;  /* completion argument if any */
++ #  endif
+  # endif
+  } ucmd_T;
+  
+***************
+*** 3156,3172 ****
+           return NULL;
+       }
+       for (ea.cmdidx = (cmdidx_T)0; (int)ea.cmdidx < (int)CMD_SIZE;
+!                                       ea.cmdidx = (cmdidx_T)((int)ea.cmdidx + 1))
+!          if (STRNCMP(cmdnames[(int)ea.cmdidx].cmd_name, cmd, (size_t)len) == 0)
+               break;
+  
+  #ifdef FEAT_USR_CMDS
+       if (cmd[0] >= 'A' && cmd[0] <= 'Z')
+-      {
+           while (ASCII_ISALNUM(*p) || *p == '*')      /* Allow * wild card */
+               ++p;
+-          len = (int)(p - cmd);
+-      }
+  #endif
+      }
+  
+--- 3158,3172 ----
+           return NULL;
+       }
+       for (ea.cmdidx = (cmdidx_T)0; (int)ea.cmdidx < (int)CMD_SIZE;
+!                                 ea.cmdidx = (cmdidx_T)((int)ea.cmdidx + 1))
+!          if (STRNCMP(cmdnames[(int)ea.cmdidx].cmd_name, cmd,
+!                                                          (size_t)len) == 0)
+               break;
+  
+  #ifdef FEAT_USR_CMDS
+       if (cmd[0] >= 'A' && cmd[0] <= 'Z')
+           while (ASCII_ISALNUM(*p) || *p == '*')      /* Allow * wild card */
+               ++p;
+  #endif
+      }
+  
+***************
+*** 3809,3814 ****
+--- 3809,3817 ----
+           set_context_in_profile_cmd(xp, arg);
+           break;
+  #endif
++      case CMD_behave:
++          xp->xp_context = EXPAND_BEHAVE;
++          break;
+  
+  #endif /* FEAT_CMDL_COMPL */
+  
+***************
+*** 10847,10852 ****
+--- 10850,10873 ----
+       EMSG2(_(e_invarg2), eap->arg);
+  }
+  
++ #if defined(FEAT_CMDL_COMPL) || defined(PROTO)
++ /*
++  * Function given to ExpandGeneric() to obtain the possible arguments of the
++  * ":behave {mswin,xterm}" command.
++  */
++     char_u *
++ get_behave_arg(xp, idx)
++     expand_T *xp UNUSED;
++     int              idx;
++ {
++     if (idx == 0)
++      return (char_u *)"mswin";
++     if (idx == 1)
++      return (char_u *)"xterm";
++     return NULL;
++ }
++ #endif
++ 
+  #ifdef FEAT_AUTOCMD
+  static int filetype_detect = FALSE;
+  static int filetype_plugin = FALSE;
+*** ../vim-7.2.380/src/ex_getln.c      2010-02-03 15:14:15.000000000 +0100
+--- src/ex_getln.c     2010-03-02 15:28:13.000000000 +0100
+***************
+*** 4492,4497 ****
+--- 4492,4498 ----
+       } tab[] =
+       {
+           {EXPAND_COMMANDS, get_command_name, FALSE},
++          {EXPAND_BEHAVE, get_behave_arg, TRUE},
+  #ifdef FEAT_USR_CMDS
+           {EXPAND_USER_COMMANDS, get_user_commands, FALSE},
+           {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE},
+*** ../vim-7.2.380/src/proto/ex_docmd.pro      2008-07-04 11:43:13.000000000 +0200
+--- src/proto/ex_docmd.pro     2010-03-02 15:37:37.000000000 +0100
+***************
+*** 52,55 ****
+--- 52,56 ----
+  int put_eol __ARGS((FILE *fd));
+  int put_line __ARGS((FILE *fd, char *s));
+  void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname));
++ char_u *get_behave_arg __ARGS((expand_T *xp, int idx));
+  /* vim: set ft=c : */
+*** ../vim-7.2.380/src/vim.h   2010-02-24 14:46:58.000000000 +0100
+--- src/vim.h  2010-03-02 15:30:13.000000000 +0100
+***************
+*** 595,601 ****
+  
+  /*
+   * Terminal highlighting attribute bits.
+!  * Attibutes above HL_ALL are used for syntax highlighting.
+   */
+  #define HL_NORMAL            0x00
+  #define HL_INVERSE           0x01
+--- 595,601 ----
+  
+  /*
+   * Terminal highlighting attribute bits.
+!  * Attributes above HL_ALL are used for syntax highlighting.
+   */
+  #define HL_NORMAL            0x00
+  #define HL_INVERSE           0x01
+***************
+*** 721,726 ****
+--- 721,727 ----
+  #define EXPAND_CSCOPE                33
+  #define EXPAND_SIGN          34
+  #define EXPAND_PROFILE               35
++ #define EXPAND_BEHAVE                36
+  
+  /* Values for exmode_active (0 is no exmode) */
+  #define EXMODE_NORMAL                1
+***************
+*** 1262,1268 ****
+  } hlf_T;
+  
+  /* The HL_FLAGS must be in the same order as the HLF_ enums!
+!  * When chainging this also adjust the default for 'highlight'. */
+  #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \
+                 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
+                 'f', 'F', 'A', 'C', 'D', 'T', '>', \
+--- 1263,1269 ----
+  } hlf_T;
+  
+  /* The HL_FLAGS must be in the same order as the HLF_ enums!
+!  * When changing this also adjust the default for 'highlight'. */
+  #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \
+                 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \
+                 'f', 'F', 'A', 'C', 'D', 'T', '>', \
+***************
+*** 1430,1436 ****
+  #ifdef FEAT_MBYTE
+  /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte
+   * encoding because mb_stricmp() takes care of all ascii and non-ascii
+!  * encodings, including characters with umluats in latin1, etc., while
+   * STRICMP() only handles the system locale version, which often does not
+   * handle non-ascii properly. */
+  
+--- 1431,1437 ----
+  #ifdef FEAT_MBYTE
+  /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte
+   * encoding because mb_stricmp() takes care of all ascii and non-ascii
+!  * encodings, including characters with umlauts in latin1, etc., while
+   * STRICMP() only handles the system locale version, which often does not
+   * handle non-ascii properly. */
+  
+*** ../vim-7.2.380/src/version.c       2010-03-02 15:14:22.000000000 +0100
+--- src/version.c      2010-03-02 15:51:24.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     381,
+  /**/
+
+-- 
+I'd like to meet the man who invented sex and see what he's working on now.
+
+ /// 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.382 b/7.2.382
new file mode 100644 (file)
index 0000000..56fcfa4
--- /dev/null
+++ b/7.2.382
@@ -0,0 +1,58 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.382
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.382
+Problem:    Accessing freed memory when closing the cmdline window when
+           'bufhide' is set to "wipe".
+Solution:   Check if the buffer still exists before invoking close_buffer()
+           (Dominique Pelle)
+Files:     src/ex_getln.c
+
+
+*** ../vim-7.2.381/src/ex_getln.c      2010-03-02 15:55:51.000000000 +0100
+--- src/ex_getln.c     2010-03-02 16:29:38.000000000 +0100
+***************
+*** 6252,6258 ****
+       bp = curbuf;
+       win_goto(old_curwin);
+       win_close(wp, TRUE);
+!      close_buffer(NULL, bp, DOBUF_WIPE);
+  
+       /* Restore window sizes. */
+       win_size_restore(&winsizes);
+--- 6252,6262 ----
+       bp = curbuf;
+       win_goto(old_curwin);
+       win_close(wp, TRUE);
+! 
+!      /* win_close() may have already wiped the buffer when 'bh' is
+!       * set to 'wipe' */
+!      if (buf_valid(bp))
+!          close_buffer(NULL, bp, DOBUF_WIPE);
+  
+       /* Restore window sizes. */
+       win_size_restore(&winsizes);
+*** ../vim-7.2.381/src/version.c       2010-03-02 15:55:51.000000000 +0100
+--- src/version.c      2010-03-02 17:22:11.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     382,
+  /**/
+
+-- 
+You had connectors?  Eeee, when I were a lad we 'ad to carry the
+bits between the computer and the terminal with a spoon...
+
+ /// 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.383 b/7.2.383
new file mode 100644 (file)
index 0000000..25fa714
--- /dev/null
+++ b/7.2.383
@@ -0,0 +1,101 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.383
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.383
+Problem:    Vim doesn't build cleanly with MSVC 2010.
+Solution:   Change a few types. (George Reilly)
+Files:     src/ex_cmds2.c, src/if_python.c, src/syntax.c
+
+
+*** ../vim-7.2.382/src/ex_cmds2.c      2010-02-24 13:59:08.000000000 +0100
+--- src/ex_cmds2.c     2010-03-02 17:42:54.000000000 +0100
+***************
+*** 1165,1171 ****
+      char_u   *arg;
+  {
+      char_u   *end_subcmd;
+-     int              len;
+  
+      /* Default: expand subcommands. */
+      xp->xp_context = EXPAND_PROFILE;
+--- 1165,1170 ----
+***************
+*** 1176,1183 ****
+      if (*end_subcmd == NUL)
+       return;
+  
+!     len = end_subcmd - arg;
+!     if (len == 5 && STRNCMP(arg, "start", 5) == 0)
+      {
+       xp->xp_context = EXPAND_FILES;
+       xp->xp_pattern = skipwhite(end_subcmd);
+--- 1175,1181 ----
+      if (*end_subcmd == NUL)
+       return;
+  
+!     if (end_subcmd - arg == 5 && STRNCMP(arg, "start", 5) == 0)
+      {
+       xp->xp_context = EXPAND_FILES;
+       xp->xp_pattern = skipwhite(end_subcmd);
+*** ../vim-7.2.382/src/if_python.c     2009-11-11 15:06:59.000000000 +0100
+--- src/if_python.c    2010-03-02 17:43:39.000000000 +0100
+***************
+*** 2080,2086 ****
+           return -1;
+  
+       /* When column is out of range silently correct it. */
+!      len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE));
+       if (col > len)
+           col = len;
+  
+--- 2080,2086 ----
+           return -1;
+  
+       /* When column is out of range silently correct it. */
+!      len = (long)STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE));
+       if (col > len)
+           col = len;
+  
+*** ../vim-7.2.382/src/syntax.c        2010-02-24 17:22:14.000000000 +0100
+--- src/syntax.c       2010-03-02 17:45:25.000000000 +0100
+***************
+*** 3090,3096 ****
+      {
+       /* a "\n" at the end of the pattern may take us below the last line */
+       result->lnum = syn_buf->b_ml.ml_line_count;
+!      col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE));
+      }
+      if (off != 0)
+      {
+--- 3090,3096 ----
+      {
+       /* a "\n" at the end of the pattern may take us below the last line */
+       result->lnum = syn_buf->b_ml.ml_line_count;
+!      col = (int)STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE));
+      }
+      if (off != 0)
+      {
+*** ../vim-7.2.382/src/version.c       2010-03-02 17:23:10.000000000 +0100
+--- src/version.c      2010-03-02 17:48:50.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     383,
+  /**/
+
+-- 
+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    ///
diff --git a/7.2.384 b/7.2.384
new file mode 100644 (file)
index 0000000..24fc680
--- /dev/null
+++ b/7.2.384
@@ -0,0 +1,59 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.384 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.384 (extra)
+Problem:    Vim doesn't build properly with MSVC 2010.
+Solution:   Add the nmake version to the build file. (George Reilly)
+Files:     src/Make_mvc.mak, src/testdir/Make_dos.mak
+
+
+*** ../vim-7.2.383/src/Make_mvc.mak    2009-09-11 12:48:56.000000000 +0200
+--- src/Make_mvc.mak   2010-03-02 17:44:22.000000000 +0100
+***************
+*** 361,366 ****
+--- 361,369 ----
+  !if "$(_NMAKE_VER)" == "10.00.20506.01"
+  MSVCVER = 10.0
+  !endif
++ !if "$(_NMAKE_VER)" == "10.00.30128.01"
++ MSVCVER = 10.0
++ !endif
+  !endif
+  
+  # Abort bulding VIM if version of VC is unrecognised.
+*** ../vim-7.2.383/src/testdir/Make_dos.mak    2010-01-19 15:51:29.000000000 +0100
+--- src/testdir/Make_dos.mak   2010-03-02 17:45:48.000000000 +0100
+***************
+*** 56,61 ****
+--- 56,62 ----
+       -if exist small.vim del small.vim
+       -if exist tiny.vim del tiny.vim
+       -if exist mbyte.vim del mbyte.vim
++      -if exist mzscheme.vim del mzscheme.vim
+       -del X*
+       -if exist viminfo del viminfo
+  
+*** ../vim-7.2.383/src/version.c       2010-03-02 17:50:30.000000000 +0100
+--- src/version.c      2010-03-02 17:59:09.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     384,
+  /**/
+
+-- 
+Yah, well, we had to carve our electrons out of driftwood we'd
+find.  In the winter.  Uphill.  Both ways.
+
+ /// 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.385 b/7.2.385
new file mode 100644 (file)
index 0000000..9f9a917
--- /dev/null
+++ b/7.2.385
@@ -0,0 +1,63 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.385
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.385
+Problem:    When in the command line window dragging status line only works
+           for last-but-one window. (Jean Johner)
+Solution:   Remove the code that disallows this.
+Files:     src/ui.c
+
+
+*** ../vim-7.2.384/src/ui.c    2010-01-19 14:59:14.000000000 +0100
+--- src/ui.c   2010-03-02 18:06:30.000000000 +0100
+***************
+*** 2598,2611 ****
+       if (cmdwin_type != 0 && wp != curwin)
+       {
+           /* A click outside the command-line window: Use modeless
+!           * selection if possible.  Allow dragging the status line of
+!           * windows just above the command-line window. */
+!          if (wp->w_winrow + wp->w_height
+!                     != curwin->w_prev->w_winrow + curwin->w_prev->w_height)
+!          {
+!              on_status_line = 0;
+!              dragwin = NULL;
+!          }
+  # ifdef FEAT_VERTSPLIT
+           on_sep_line = 0;
+  # endif
+--- 2598,2604 ----
+       if (cmdwin_type != 0 && wp != curwin)
+       {
+           /* A click outside the command-line window: Use modeless
+!           * selection if possible.  Allow dragging the status lines. */
+  # ifdef FEAT_VERTSPLIT
+           on_sep_line = 0;
+  # endif
+*** ../vim-7.2.384/src/version.c       2010-03-02 17:59:39.000000000 +0100
+--- src/version.c      2010-03-02 18:14:29.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     385,
+  /**/
+
+-- 
+You were lucky. We lived for three months in a brown paper bag in a 
+septic tank. We used to have to get up at six o'clock in the morning, 
+clean the bag, eat a crust of stale bread, go to work down mill for 
+fourteen hours a day week in-week out. When we got home, our Dad
+would thrash us to sleep with his belt!
+
+ /// 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.386 b/7.2.386
new file mode 100644 (file)
index 0000000..7212b27
--- /dev/null
+++ b/7.2.386
@@ -0,0 +1,61 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.386
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.386
+Problem:    Focus hack for KDE 3.1 causes problems for other window managers.
+Solution:   Remove the hack. (forwarded by Joel Bradshaw)
+Files:     src/gui_gtk.c
+
+
+*** ../vim-7.2.385/src/gui_gtk.c       2009-05-17 16:23:20.000000000 +0200
+--- src/gui_gtk.c      2010-03-10 12:07:59.000000000 +0100
+***************
+*** 2313,2331 ****
+       gtk_widget_destroy(dialog);
+      }
+  
+-     /* Terrible hack: When the text area still has focus when we remove the
+-      * dialog, somehow gvim loses window focus.  This is with "point to type"
+-      * in the KDE 3.1 window manager.  Warp the mouse pointer to outside the
+-      * window and back to avoid that. */
+-     if (!gui.in_focus)
+-     {
+-      int x, y;
+- 
+-      gdk_window_get_pointer(gui.drawarea->window, &x, &y, NULL);
+-      gui_mch_setmouse(-100, -100);
+-      gui_mch_setmouse(x, y);
+-     }
+- 
+      return response > 0 ? response : 0;
+  }
+  
+--- 2313,2318 ----
+*** ../vim-7.2.385/src/version.c       2010-03-02 18:15:47.000000000 +0100
+--- src/version.c      2010-03-10 12:09:00.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     386,
+  /**/
+
+-- 
+ARTHUR:  Well, I AM king...
+DENNIS:  Oh king, eh, very nice.  An' how'd you get that, eh?  By exploitin'
+         the workers -- by 'angin' on to outdated imperialist dogma which
+         perpetuates the economic an' social differences in our society!  If
+         there's ever going to be any progress--
+                                  The Quest for the Holy Grail (Monty Python)
+
+ /// 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.387 b/7.2.387
new file mode 100644 (file)
index 0000000..ccbd6e4
--- /dev/null
+++ b/7.2.387
@@ -0,0 +1,238 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.387
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.387
+Problem:    Ruby with MingW still doesn't build all versions.
+Solution:   More #ifdefs for the  Ruby code. (Sergey Khorev)
+Files:     src/if_ruby.c
+
+
+*** ../vim-7.2.386/src/if_ruby.c       2010-02-24 15:47:58.000000000 +0100
+--- src/if_ruby.c      2010-03-10 12:40:30.000000000 +0100
+***************
+*** 39,46 ****
+  # define rb_cTrueClass               (*dll_rb_cTrueClass)
+  # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+  /*
+!  * On ver 1.8, all Ruby functions are exported with "__declspce(dllimport)"
+!  * in ruby.h.  But it cause trouble for these variables, because it is
+   * defined in this file.  When defined this RUBY_EXPORT it modified to
+   * "extern" and be able to avoid this problem.
+   */
+--- 39,46 ----
+  # define rb_cTrueClass               (*dll_rb_cTrueClass)
+  # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+  /*
+!  * On ver 1.8, all Ruby functions are exported with "__declspec(dllimport)"
+!  * in ruby.h.  But it causes trouble for these variables, because it is
+   * defined in this file.  When defined this RUBY_EXPORT it modified to
+   * "extern" and be able to avoid this problem.
+   */
+***************
+*** 53,58 ****
+--- 53,65 ----
+  # undef _WIN32_WINNT
+  #endif
+  
++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
++ /* Ruby 1.9 defines a number of static functions which use rb_num2long and
++  * rb_int2big */
++ # define rb_num2long rb_num2long_stub
++ # define rb_int2big rb_int2big_stub
++ #endif
++ 
+  #include <ruby.h>
+  #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+  # include <ruby/encoding.h>
+***************
+*** 159,165 ****
+  #define rb_str_concat                        dll_rb_str_concat
+  #define rb_str_new                   dll_rb_str_new
+  #define rb_str_new2                  dll_rb_str_new2
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+  # define rb_errinfo                  dll_rb_errinfo
+  #else
+  # define ruby_errinfo                        (*dll_ruby_errinfo)
+--- 166,179 ----
+  #define rb_str_concat                        dll_rb_str_concat
+  #define rb_str_new                   dll_rb_str_new
+  #define rb_str_new2                  dll_rb_str_new2
+! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+! # define rb_string_value_ptr         dll_rb_string_value_ptr
+! # define rb_float_new                        dll_rb_float_new
+! # define rb_ary_new                  dll_rb_ary_new
+! # define rb_ary_push                 dll_rb_ary_push
+! #endif
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \
+!     || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
+  # define rb_errinfo                  dll_rb_errinfo
+  #else
+  # define ruby_errinfo                        (*dll_ruby_errinfo)
+***************
+*** 226,232 ****
+  static VALUE (*dll_rb_str_concat) (VALUE, VALUE);
+  static VALUE (*dll_rb_str_new) (const char*, long);
+  static VALUE (*dll_rb_str_new2) (const char*);
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+  static VALUE (*dll_rb_errinfo) (void);
+  #else
+  static VALUE *dll_ruby_errinfo;
+--- 240,247 ----
+  static VALUE (*dll_rb_str_concat) (VALUE, VALUE);
+  static VALUE (*dll_rb_str_new) (const char*, long);
+  static VALUE (*dll_rb_str_new2) (const char*);
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \
+!     || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
+  static VALUE (*dll_rb_errinfo) (void);
+  #else
+  static VALUE *dll_ruby_errinfo;
+***************
+*** 235,240 ****
+--- 250,264 ----
+  static void (*dll_ruby_init_loadpath) (void);
+  static void (*dll_NtInitialize) (int*, char***);
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
++ static char * (*dll_rb_string_value_ptr) (volatile VALUE*);
++ static VALUE (*dll_rb_float_new) (double);
++ static VALUE (*dll_rb_ary_new) (void);
++ static VALUE (*dll_rb_ary_push) (VALUE, VALUE);
++ #endif
++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
++ static VALUE (*dll_rb_int2big)(SIGNED_VALUE);
++ #endif
++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+  static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
+  #endif
+  
+***************
+*** 246,251 ****
+--- 270,286 ----
+  static VALUE (*dll_rb_sprintf) (const char*, ...);
+  #endif
+  
++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
++ static SIGNED_VALUE rb_num2long_stub(VALUE x)
++ {
++     return dll_rb_num2long(x);
++ }
++ static VALUE rb_int2big_stub(SIGNED_VALUE x)
++ {
++     return dll_rb_int2big(x);
++ }
++ #endif
++ 
+  static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */
+  
+  /*
+***************
+*** 301,317 ****
+      {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
+      {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
+      {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2},
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+      {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo},
+  #else
+      {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
+  #endif
+      {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
+      {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
+!     {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize},
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+      {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
+  #endif
+  #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+      {"ruby_script", (RUBY_PROC*)&dll_ruby_script},
+      {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
+--- 336,368 ----
+      {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
+      {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
+      {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2},
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \
+!     || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
+      {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo},
+  #else
+      {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
+  #endif
+      {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
+      {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
+!     {
+! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
+!     "NtInitialize",
+! #else
+!     "ruby_sysinit",
+! #endif
+!                      (RUBY_PROC*)&dll_NtInitialize},
+  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+      {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
+  #endif
++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
++     {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
++     {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new},
++     {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new},
++     {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push},
++ #endif
++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
++     {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big},
++ #endif
+  #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+      {"ruby_script", (RUBY_PROC*)&dll_ruby_script},
+      {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
+***************
+*** 569,575 ****
+  static void error_print(int state)
+  {
+  #ifndef DYNAMIC_RUBY
+! #if !(defined(RUBY_VERSION) &&  RUBY_VERSION >= 19)
+      RUBYEXTERN VALUE ruby_errinfo;
+  #endif
+  #endif
+--- 620,627 ----
+  static void error_print(int state)
+  {
+  #ifndef DYNAMIC_RUBY
+! #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) \
+!     && !(defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19)
+      RUBYEXTERN VALUE ruby_errinfo;
+  #endif
+  #endif
+***************
+*** 605,611 ****
+       break;
+      case TAG_RAISE:
+      case TAG_FATAL:
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19
+       eclass = CLASS_OF(rb_errinfo());
+       einfo = rb_obj_as_string(rb_errinfo());
+  #else
+--- 657,664 ----
+       break;
+      case TAG_RAISE:
+      case TAG_FATAL:
+! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \
+!     || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
+       eclass = CLASS_OF(rb_errinfo());
+       einfo = rb_obj_as_string(rb_errinfo());
+  #else
+*** ../vim-7.2.386/src/version.c       2010-03-10 12:24:44.000000000 +0100
+--- src/version.c      2010-03-10 12:45:55.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     387,
+  /**/
+
+-- 
+Vim is like Emacs without all the typing.  (John "Johann" Spetz)
+
+ /// 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.388 b/7.2.388
new file mode 100644 (file)
index 0000000..1a8a7a8
--- /dev/null
+++ b/7.2.388
@@ -0,0 +1,86 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.388 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.388 (extra part of 7.2.387)
+Problem:    Ruby with MingW still doesn't build all versions.
+Solution:   Different approach to build file. (Sergey Khorev)
+Files:     src/Make_ming.mak
+
+
+*** ../vim-7.2.387/src/Make_ming.mak   2010-02-26 22:05:17.000000000 +0100
+--- src/Make_ming.mak  2010-03-10 12:34:25.000000000 +0100
+***************
+*** 212,234 ****
+  RUBY_VER_LONG = 1.6
+  endif
+  
+- ifeq ($(RUBY_VER), 16)
+  ifndef RUBY_PLATFORM
+  RUBY_PLATFORM = i586-mswin32
+! endif
+! ifndef RUBY_INSTALL_NAME
+! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
+! endif
+  else
+- ifndef RUBY_PLATFORM
+  RUBY_PLATFORM = i386-mswin32
+  endif
+  ifndef RUBY_INSTALL_NAME
+  RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
+  endif
+  endif
+  
+! RUBYINC =-I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
+  ifeq (no, $(DYNAMIC_RUBY))
+  RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
+  endif
+--- 212,236 ----
+  RUBY_VER_LONG = 1.6
+  endif
+  
+  ifndef RUBY_PLATFORM
++ ifeq ($(RUBY_VER), 16)
+  RUBY_PLATFORM = i586-mswin32
+! else ifneq ("X$(wildcard, $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32)", X)
+! RUBY_PLATFORM = i386-mingw32
+  else
+  RUBY_PLATFORM = i386-mswin32
+  endif
++ endif
++ 
+  ifndef RUBY_INSTALL_NAME
++ ifeq ($(RUBY_VER), 16)
++ RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
++ else
+  RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
+  endif
+  endif
+  
+! RUBYINC =-I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
+  ifeq (no, $(DYNAMIC_RUBY))
+  RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
+  endif
+*** ../vim-7.2.387/src/version.c       2010-03-10 12:46:38.000000000 +0100
+--- src/version.c      2010-03-10 13:18:38.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     388,
+  /**/
+
+-- 
+Q: Is selling software the same as selling hardware?
+A: No, good hardware is sold new, good software has already been used by many.
+
+ /// 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.389 b/7.2.389
new file mode 100644 (file)
index 0000000..a4af355
--- /dev/null
+++ b/7.2.389
@@ -0,0 +1,161 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.389
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.389
+Problem:    synIDattr() cannot return the font.
+Solution:   Support the "font" argument. (Christian Brabandt)
+Files:     runtime/doc/eval.txt, src/eval.c, src/syntax.c
+
+
+*** ../vim-7.2.388/runtime/doc/eval.txt        2010-01-19 15:51:29.000000000 +0100
+--- runtime/doc/eval.txt       2010-03-10 12:52:12.000000000 +0100
+***************
+*** 5370,5375 ****
+--- 5388,5395 ----
+                               the color, cterm: color number as a string,
+                               term: empty string)
+               "bg"            background color (as with "fg")
++              "font"          font name (only available in the GUI)
++                              |highlight-font|
+               "sp"            special color (as with "fg") |highlight-guisp|
+               "fg#"           like "fg", but for the GUI and the GUI is
+                               running the name in "#RRGGBB" form
+***************
+*** 5379,5384 ****
+--- 5399,5405 ----
+               "italic"        "1" if italic
+               "reverse"       "1" if reverse
+               "inverse"       "1" if inverse (= reverse)
++              "standout"      "1" if standout
+               "underline"     "1" if underlined
+               "undercurl"     "1" if undercurled
+  
+*** ../vim-7.2.388/src/eval.c  2010-02-24 15:47:58.000000000 +0100
+--- src/eval.c 2010-03-10 12:54:27.000000000 +0100
+***************
+*** 16627,16633 ****
+                   p = highlight_has_attr(id, HL_BOLD, modec);
+               break;
+  
+!      case 'f':                                       /* fg[#] */
+               p = highlight_color(id, what, modec);
+               break;
+  
+--- 16627,16633 ----
+                   p = highlight_has_attr(id, HL_BOLD, modec);
+               break;
+  
+!      case 'f':                                       /* fg[#] or font */
+               p = highlight_color(id, what, modec);
+               break;
+  
+*** ../vim-7.2.388/src/syntax.c        2010-03-02 17:50:30.000000000 +0100
+--- src/syntax.c       2010-03-10 13:05:39.000000000 +0100
+***************
+*** 8326,8332 ****
+      char_u *
+  highlight_color(id, what, modec)
+      int              id;
+!     char_u   *what;  /* "fg", "bg", "sp", "fg#", "bg#" or "sp#" */
+      int              modec;  /* 'g' for GUI, 'c' for cterm, 't' for term */
+  {
+      static char_u    name[20];
+--- 8326,8332 ----
+      char_u *
+  highlight_color(id, what, modec)
+      int              id;
+!     char_u   *what;  /* "font", "fg", "bg", "sp", "fg#", "bg#" or "sp#" */
+      int              modec;  /* 'g' for GUI, 'c' for cterm, 't' for term */
+  {
+      static char_u    name[20];
+***************
+*** 8334,8353 ****
+      int                      fg = FALSE;
+  # ifdef FEAT_GUI
+      int                      sp = FALSE;
+  # endif
+  
+      if (id <= 0 || id > highlight_ga.ga_len)
+       return NULL;
+  
+!     if (TOLOWER_ASC(what[0]) == 'f')
+       fg = TRUE;
+  # ifdef FEAT_GUI
+!     else if (TOLOWER_ASC(what[0]) == 's')
+       sp = TRUE;
+      if (modec == 'g')
+      {
+       /* return #RRGGBB form (only possible when GUI is running) */
+!      if (gui.in_use && what[1] && what[2] == '#')
+       {
+           guicolor_T          color;
+           long_u              rgb;
+--- 8334,8363 ----
+      int                      fg = FALSE;
+  # ifdef FEAT_GUI
+      int                      sp = FALSE;
++     int                      font = FALSE;
+  # endif
+  
+      if (id <= 0 || id > highlight_ga.ga_len)
+       return NULL;
+  
+!     if (TOLOWER_ASC(what[0]) == 'f' && TOLOWER_ASC(what[1]) == 'g')
+       fg = TRUE;
+  # ifdef FEAT_GUI
+!     else if (TOLOWER_ASC(what[0]) == 'f' && TOLOWER_ASC(what[1]) == 'o'
+!              && TOLOWER_ASC(what[2]) == 'n' && TOLOWER_ASC(what[3]) == 't')
+!      font = TRUE;
+!     else if (TOLOWER_ASC(what[0]) == 's' && TOLOWER_ASC(what[1]) == 'p')
+       sp = TRUE;
++     else if (!(TOLOWER_ASC(what[0]) == 'b' && TOLOWER_ASC(what[1]) == 'g'))
++      return NULL;
+      if (modec == 'g')
+      {
++      /* return font name */
++      if (font)
++          return HL_TABLE()[id - 1].sg_font_name;
++ 
+       /* return #RRGGBB form (only possible when GUI is running) */
+!      if (gui.in_use && what[2] == '#')
+       {
+           guicolor_T          color;
+           long_u              rgb;
+***************
+*** 8374,8379 ****
+--- 8384,8391 ----
+           return (HL_TABLE()[id - 1].sg_gui_sp_name);
+       return (HL_TABLE()[id - 1].sg_gui_bg_name);
+      }
++     if (font || sp)
++      return NULL;
+  # endif
+      if (modec == 'c')
+      {
+*** ../vim-7.2.388/src/version.c       2010-03-10 13:19:28.000000000 +0100
+--- src/version.c      2010-03-10 13:33:25.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     389,
+  /**/
+
+-- 
+WOMAN:   Dennis, there's some lovely filth down here.  Oh -- how d'you do?
+ARTHUR:  How do you do, good lady.  I am Arthur, King of the Britons.
+         Who's castle is that?
+WOMAN:   King of the who?
+                                  The Quest for the Holy Grail (Monty Python)
+
+ /// 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.390 b/7.2.390
new file mode 100644 (file)
index 0000000..d10ed2a
--- /dev/null
+++ b/7.2.390
@@ -0,0 +1,72 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.390
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.390
+Problem:    In some situations the popup menu can be displayed wrong.
+Solution:   Remove the popup menu if the cursor moved. (Lech Lorens)
+Files:     src/edit.c
+
+
+*** ../vim-7.2.389/src/edit.c  2010-01-19 14:59:14.000000000 +0100
+--- src/edit.c 2010-03-10 14:09:56.000000000 +0100
+***************
+*** 4684,4689 ****
+--- 4684,4690 ----
+      int              startcol = 0;       /* column where searched text starts */
+      colnr_T  curs_col;           /* cursor column */
+      int              n;
++     int              save_w_wrow;
+  
+      compl_direction = ins_compl_key2dir(c);
+      if (!compl_started)
+***************
+*** 5067,5072 ****
+--- 5068,5074 ----
+      /*
+       * Find next match (and following matches).
+       */
++     save_w_wrow = curwin->w_wrow;
+      n = ins_compl_next(TRUE, ins_compl_key2count(c), ins_compl_use_match(c));
+  
+      /* may undisplay the popup menu */
+***************
+*** 5220,5225 ****
+--- 5222,5233 ----
+       /* RedrawingDisabled may be set when invoked through complete(). */
+       n = RedrawingDisabled;
+       RedrawingDisabled = 0;
++ 
++      /* If the cursor moved we need to remove the pum first. */
++      setcursor();
++      if (save_w_wrow != curwin->w_wrow)
++          ins_compl_del_pum();
++ 
+       ins_compl_show_pum();
+       setcursor();
+       RedrawingDisabled = n;
+*** ../vim-7.2.389/src/version.c       2010-03-10 13:43:22.000000000 +0100
+--- src/version.c      2010-03-10 14:13:55.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     390,
+  /**/
+
+-- 
+`When any government, or any church for that matter, undertakes to say to
+ its subjects, "This you may not read, this you must not see, this you are
+ forbidden to know," the end result is tyranny and oppression no matter how
+ holy the motives' -- Robert A Heinlein, "If this goes on --"
+
+ /// 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.391 b/7.2.391
new file mode 100644 (file)
index 0000000..731408d
--- /dev/null
+++ b/7.2.391
@@ -0,0 +1,121 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.391
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.391
+Problem:    Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen)
+Solution:   Fix computations in getvcol(). (partly by Lech Lorens)
+Files:     src/charset.c, src/memline.c
+
+
+*** ../vim-7.2.390/src/charset.c       2009-11-03 16:03:59.000000000 +0100
+--- src/charset.c      2010-03-10 14:38:14.000000000 +0100
+***************
+*** 1255,1261 ****
+  
+      vcol = 0;
+      ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE);
+!     posptr = ptr + pos->col;
+  
+      /*
+       * This function is used very often, do some speed optimizations.
+--- 1255,1264 ----
+  
+      vcol = 0;
+      ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE);
+!     if (pos->col == MAXCOL)
+!      posptr = NULL;  /* continue until the NUL */
+!     else
+!      posptr = ptr + pos->col;
+  
+      /*
+       * This function is used very often, do some speed optimizations.
+***************
+*** 1313,1319 ****
+                   incr = CHARSIZE(c);
+           }
+  
+!          if (ptr >= posptr)  /* character at pos->col */
+               break;
+  
+           vcol += incr;
+--- 1316,1322 ----
+                   incr = CHARSIZE(c);
+           }
+  
+!          if (posptr != NULL && ptr >= posptr) /* character at pos->col */
+               break;
+  
+           vcol += incr;
+***************
+*** 1334,1340 ****
+               break;
+           }
+  
+!          if (ptr >= posptr)  /* character at pos->col */
+               break;
+  
+           vcol += incr;
+--- 1337,1343 ----
+               break;
+           }
+  
+!          if (posptr != NULL && ptr >= posptr) /* character at pos->col */
+               break;
+  
+           vcol += incr;
+*** ../vim-7.2.390/src/memline.c       2010-02-11 18:54:38.000000000 +0100
+--- src/memline.c      2010-03-10 14:38:25.000000000 +0100
+***************
+*** 2113,2124 ****
+      if (buf->b_ml.ml_mfp == NULL)    /* there are no lines */
+       return (char_u *)"";
+  
+! /*
+!  * 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);
+--- 2113,2124 ----
+      if (buf->b_ml.ml_mfp == NULL)    /* there are no lines */
+       return (char_u *)"";
+  
+!     /*
+!      * 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);
+*** ../vim-7.2.390/src/version.c       2010-03-10 14:15:28.000000000 +0100
+--- src/version.c      2010-03-10 14:31:02.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     391,
+  /**/
+
+-- 
+WOMAN:   King of the who?
+ARTHUR:  The Britons.
+WOMAN:   Who are the Britons?
+ARTHUR:  Well, we all are. we're all Britons and I am your king.
+                                  The Quest for the Holy Grail (Monty Python)
+
+ /// 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.392 b/7.2.392
new file mode 100644 (file)
index 0000000..c253d91
--- /dev/null
+++ b/7.2.392
@@ -0,0 +1,184 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.392
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.392
+Problem:    Netbeans hangs reading from a socket at the maximum block size.
+Solution:   Use select() or poll(). (Xavier de Gaye)
+Files:     src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c
+
+
+*** ../vim-7.2.391/src/vim.h   2010-03-02 15:55:51.000000000 +0100
+--- src/vim.h  2010-03-10 15:14:03.000000000 +0100
+***************
+*** 477,482 ****
+--- 477,499 ----
+  # include <stdarg.h>
+  #endif
+  
++ # if defined(HAVE_SYS_SELECT_H) && \
++      (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME))
++ #  include <sys/select.h>
++ # endif
++ 
++ # ifndef HAVE_SELECT
++ #  ifdef HAVE_SYS_POLL_H
++ #   include <sys/poll.h>
++ #   define HAVE_POLL
++ #  else
++ #   ifdef HAVE_POLL_H
++ #    include <poll.h>
++ #    define HAVE_POLL
++ #   endif
++ #  endif
++ # endif
++ 
+  /* ================ end of the header file puzzle =============== */
+  
+  /*
+*** ../vim-7.2.391/src/os_unixx.h      2006-03-25 22:48:00.000000000 +0100
+--- src/os_unixx.h     2010-03-10 15:14:49.000000000 +0100
+***************
+*** 28,38 ****
+  #  include <sys/wait.h>
+  # endif
+  
+- # if defined(HAVE_SYS_SELECT_H) && \
+-      (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME))
+- #  include <sys/select.h>
+- # endif
+- 
+  # ifndef WEXITSTATUS
+  #  ifdef HAVE_UNION_WAIT
+  #   define WEXITSTATUS(stat_val) ((stat_val).w_T.w_Retcode)
+--- 28,33 ----
+***************
+*** 65,80 ****
+  # include <string.h>
+  #endif
+  
+- #ifndef HAVE_SELECT
+- # ifdef HAVE_SYS_POLL_H
+- #  include <sys/poll.h>
+- # else
+- #  ifdef HAVE_POLL_H
+- #   include <poll.h>
+- #  endif
+- # endif
+- #endif
+- 
+  #ifdef HAVE_SYS_STREAM_H
+  # include <sys/stream.h>
+  #endif
+--- 60,65 ----
+*** ../vim-7.2.391/src/if_xcmdsrv.c    2009-05-16 17:29:37.000000000 +0200
+--- src/if_xcmdsrv.c   2010-03-10 15:14:09.000000000 +0100
+***************
+*** 21,41 ****
+  #  include <X11/Xatom.h>
+  # endif
+  
+- # if defined(HAVE_SYS_SELECT_H) && \
+-      (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME))
+- #  include <sys/select.h>
+- # endif
+- 
+- # ifndef HAVE_SELECT
+- #  ifdef HAVE_SYS_POLL_H
+- #   include <sys/poll.h>
+- #  else
+- #   ifdef HAVE_POLL_H
+- #    include <poll.h>
+- #   endif
+- #  endif
+- # endif
+- 
+  /*
+   * This file provides procedures that implement the command server
+   * functionality of Vim when in contact with an X11 server.
+--- 21,26 ----
+*** ../vim-7.2.391/src/netbeans.c      2010-01-19 15:12:33.000000000 +0100
+--- src/netbeans.c     2010-03-10 15:21:37.000000000 +0100
+***************
+*** 736,741 ****
+--- 736,749 ----
+  #ifndef FEAT_GUI_GTK
+      static int               level = 0;
+  #endif
++ #ifdef HAVE_SELECT
++     struct timeval   tval;
++     fd_set           rfds;
++ #else
++ # ifdef HAVE_POLL
++     struct pollfd    fds;
++ # endif
++ #endif
+  
+      if (sd < 0)
+      {
+***************
+*** 755,763 ****
+           return;     /* out of memory! */
+      }
+  
+!     /* Keep on reading for as long as there is something to read. */
+      for (;;)
+      {
+       len = sock_read(sd, buf, MAXMSGSIZE);
+       if (len <= 0)
+           break;      /* error or nothing more to read */
+--- 763,788 ----
+           return;     /* out of memory! */
+      }
+  
+!     /* Keep on reading for as long as there is something to read.
+!      * Use select() or poll() to avoid blocking on a message that is exactly
+!      * MAXMSGSIZE long. */
+      for (;;)
+      {
++ #ifdef HAVE_SELECT
++      FD_ZERO(&rfds);
++         FD_SET(sd, &rfds);
++         tval.tv_sec = 0;
++         tval.tv_usec = 0;
++         if (select(sd + 1, &rfds, NULL, NULL, &tval) <= 0)
++             break;
++ #else
++ # ifdef HAVE_POLL
++      fds.fd = sd;
++      fds.events = POLLIN;
++         if (poll(&fds, 1, 0) <= 0)
++             break;
++ # endif
++ #endif
+       len = sock_read(sd, buf, MAXMSGSIZE);
+       if (len <= 0)
+           break;      /* error or nothing more to read */
+*** ../vim-7.2.391/src/version.c       2010-03-10 14:46:21.000000000 +0100
+--- src/version.c      2010-03-10 16:10:48.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     392,
+  /**/
+
+-- 
+WOMAN:   I didn't know we had a king. I thought we were an autonomous
+         collective.
+DENNIS:  You're fooling yourself.  We're living in a dictatorship.  A
+         self-perpetuating autocracy in which the working classes--
+WOMAN:   Oh there you go, bringing class into it again.
+DENNIS:  That's what it's all about if only people would--
+                                  The Quest for the Holy Grail (Monty Python)
+
+ /// 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.393 b/7.2.393
new file mode 100644 (file)
index 0000000..796f654
--- /dev/null
+++ b/7.2.393
@@ -0,0 +1,281 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.393
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.393
+Problem:    Mac: Can't build with different Xcode developer tools directory.
+Solution:   make "Developer" directory name configurable. (Rainer Muller)
+Files:     src/configure.in, src/auto/configure
+
+
+*** ../vim-7.2.392/src/configure.in    2010-02-24 14:46:58.000000000 +0100
+--- src/configure.in   2010-03-10 16:16:48.000000000 +0100
+***************
+*** 116,121 ****
+--- 116,137 ----
+       MACARCH="$withval"; AC_MSG_RESULT($MACARCH),
+       MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH))
+  
++   AC_MSG_CHECKING(--with-developer-dir argument)
++   AC_ARG_WITH(developer-dir, [  --with-developer-dir=PATH    use PATH as location for Xcode developer tools],
++      DEVELOPER_DIR="$withval"; AC_MSG_RESULT($DEVELOPER_DIR),
++         DEVELOPER_DIR=""; AC_MSG_RESULT(not present))
++   
++   if test "x$DEVELOPER_DIR" = "x"; then
++     AC_PATH_PROG(XCODE_SELECT, xcode-select)
++     if test "x$XCODE_SELECT" != "x"; then
++       AC_MSG_CHECKING(for developer dir using xcode-select)
++       DEVELOPER_DIR=`$XCODE_SELECT -print-path`
++       AC_MSG_RESULT([$DEVELOPER_DIR])
++     else
++       DEVELOPER_DIR=/Developer
++     fi
++   fi
++ 
+    if test "x$MACARCH" = "xboth"; then
+      AC_MSG_CHECKING(for 10.4 universal SDK)
+      dnl There is a terrible inconsistency (but we appear to get away with it):
+***************
+*** 127,133 ****
+      save_cppflags="$CPPFLAGS"
+      save_cflags="$CFLAGS"
+      save_ldflags="$LDFLAGS"
+!     CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+      AC_TRY_LINK([ ], [ ],
+       AC_MSG_RESULT(found, will make universal binary),
+  
+--- 143,149 ----
+      save_cppflags="$CPPFLAGS"
+      save_cflags="$CFLAGS"
+      save_ldflags="$LDFLAGS"
+!     CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+      AC_TRY_LINK([ ], [ ],
+       AC_MSG_RESULT(found, will make universal binary),
+  
+***************
+*** 157,165 ****
+      dnl TODO: use -arch i386 on Intel machines
+      CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+      if test "x$MACARCH" = "xboth"; then
+!       CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+      else
+!       CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
+      fi
+  
+      dnl If Carbon is found, assume we don't want X11
+--- 173,181 ----
+      dnl TODO: use -arch i386 on Intel machines
+      CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+      if test "x$MACARCH" = "xboth"; then
+!       CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+      else
+!       CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon"
+      fi
+  
+      dnl If Carbon is found, assume we don't want X11
+***************
+*** 3233,3239 ****
+    fi
+  fi
+  if test "x$MACARCH" = "xboth"; then
+!   LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+  fi
+  
+  dnl gcc 3.1 changed the meaning of -MM.  The only solution appears to be to
+--- 3249,3255 ----
+    fi
+  fi
+  if test "x$MACARCH" = "xboth"; then
+!   LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+  fi
+  
+  dnl gcc 3.1 changed the meaning of -MM.  The only solution appears to be to
+*** ../vim-7.2.392/src/auto/configure  2010-02-24 14:46:58.000000000 +0100
+--- src/auto/configure 2010-03-10 16:19:47.000000000 +0100
+***************
+*** 718,723 ****
+--- 718,724 ----
+  VIMNAME
+  OS_EXTRA_OBJ
+  OS_EXTRA_SRC
++ XCODE_SELECT
+  CPP_MM
+  STRIP
+  AWK
+***************
+*** 774,779 ****
+--- 775,781 ----
+  enable_option_checking
+  enable_darwin
+  with_mac_arch
++ with_developer_dir
+  with_local_dir
+  with_vim_name
+  with_ex_name
+***************
+*** 1492,1497 ****
+--- 1494,1500 ----
+    --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+    --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+    --with-mac-arch=ARCH    current, intel, ppc or both
++   --with-developer-dir=PATH    use PATH as location for Xcode developer tools
+    --with-local-dir=PATH   search PATH instead of /usr/local for local libraries.
+    --without-local-dir     do not search /usr/local for local libraries.
+    --with-vim-name=NAME    what to call the Vim executable
+***************
+*** 3833,3845 ****
+  fi
+  
+  
+    if test "x$MACARCH" = "xboth"; then
+      { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5
+  $as_echo_n "checking for 10.4 universal SDK... " >&6; }
+                              save_cppflags="$CPPFLAGS"
+      save_cflags="$CFLAGS"
+      save_ldflags="$LDFLAGS"
+!     CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+      cat >conftest.$ac_ext <<_ACEOF
+  /* confdefs.h.  */
+  _ACEOF
+--- 3836,3913 ----
+  fi
+  
+  
++   { $as_echo "$as_me:$LINENO: checking --with-developer-dir argument" >&5
++ $as_echo_n "checking --with-developer-dir argument... " >&6; }
++ 
++ # Check whether --with-developer-dir was given.
++ if test "${with_developer_dir+set}" = set; then
++   withval=$with_developer_dir; DEVELOPER_DIR="$withval"; { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5
++ $as_echo "$DEVELOPER_DIR" >&6; }
++ else
++   DEVELOPER_DIR=""; { $as_echo "$as_me:$LINENO: result: not present" >&5
++ $as_echo "not present" >&6; }
++ fi
++ 
++ 
++   if test "x$DEVELOPER_DIR" = "x"; then
++     # Extract the first word of "xcode-select", so it can be a program name with args.
++ set dummy xcode-select; ac_word=$2
++ { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
++ $as_echo_n "checking for $ac_word... " >&6; }
++ if test "${ac_cv_path_XCODE_SELECT+set}" = set; then
++   $as_echo_n "(cached) " >&6
++ else
++   case $XCODE_SELECT in
++   [\\/]* | ?:[\\/]*)
++   ac_cv_path_XCODE_SELECT="$XCODE_SELECT" # Let the user override the test with a path.
++   ;;
++   *)
++   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++ for as_dir in $PATH
++ do
++   IFS=$as_save_IFS
++   test -z "$as_dir" && as_dir=.
++   for ac_exec_ext in '' $ac_executable_extensions; do
++   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++     ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext"
++     $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++     break 2
++   fi
++ done
++ done
++ IFS=$as_save_IFS
++ 
++   ;;
++ esac
++ fi
++ XCODE_SELECT=$ac_cv_path_XCODE_SELECT
++ if test -n "$XCODE_SELECT"; then
++   { $as_echo "$as_me:$LINENO: result: $XCODE_SELECT" >&5
++ $as_echo "$XCODE_SELECT" >&6; }
++ else
++   { $as_echo "$as_me:$LINENO: result: no" >&5
++ $as_echo "no" >&6; }
++ fi
++ 
++ 
++     if test "x$XCODE_SELECT" != "x"; then
++       { $as_echo "$as_me:$LINENO: checking for developer dir using xcode-select" >&5
++ $as_echo_n "checking for developer dir using xcode-select... " >&6; }
++       DEVELOPER_DIR=`$XCODE_SELECT -print-path`
++       { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5
++ $as_echo "$DEVELOPER_DIR" >&6; }
++     else
++       DEVELOPER_DIR=/Developer
++     fi
++   fi
++ 
+    if test "x$MACARCH" = "xboth"; then
+      { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5
+  $as_echo_n "checking for 10.4 universal SDK... " >&6; }
+                              save_cppflags="$CPPFLAGS"
+      save_cflags="$CFLAGS"
+      save_ldflags="$LDFLAGS"
+!     CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+      cat >conftest.$ac_ext <<_ACEOF
+  /* confdefs.h.  */
+  _ACEOF
+***************
+*** 3960,3968 ****
+      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+          CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+      if test "x$MACARCH" = "xboth"; then
+!       CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+      else
+!       CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
+      fi
+  
+                  # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+--- 4028,4036 ----
+      OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+          CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+      if test "x$MACARCH" = "xboth"; then
+!       CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+      else
+!       CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon"
+      fi
+  
+                  # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+***************
+*** 17319,17325 ****
+    fi
+  fi
+  if test "x$MACARCH" = "xboth"; then
+!   LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+  fi
+  
+  DEPEND_CFLAGS_FILTER=
+--- 17387,17393 ----
+    fi
+  fi
+  if test "x$MACARCH" = "xboth"; then
+!   LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+  fi
+  
+  DEPEND_CFLAGS_FILTER=
+*** ../vim-7.2.392/src/version.c       2010-03-10 16:11:57.000000000 +0100
+--- src/version.c      2010-03-10 16:26:00.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     393,
+  /**/
+
+-- 
+There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU,
+Linux, etc, and those who know COBOL.  It gets very difficult for me at
+parties, not knowing which group to socialise with :-)
+                                               Sitaram Chamarty
+
+ /// 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.394 b/7.2.394
new file mode 100644 (file)
index 0000000..50235e0
--- /dev/null
+++ b/7.2.394
@@ -0,0 +1,99 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.394
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.394
+Problem:    .lzma and .xz files are not supported.
+Solution:   Recognize .lzma and .xz files so that they can be edited.
+Files:      runtime/plugin/gzip.vim
+
+
+*** ../vim-7.2.393/runtime/plugin/gzip.vim     2005-07-27 23:12:49.000000000 +0200
+--- runtime/plugin/gzip.vim    2010-03-10 17:07:22.000000000 +0100
+***************
+*** 1,6 ****
+  " Vim plugin for editing compressed files.
+  " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2005 Jul 26
+  
+  " Exit quickly when:
+  " - this plugin was already loaded
+--- 1,6 ----
+  " Vim plugin for editing compressed files.
+  " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2010 Mar 10
+  
+  " Exit quickly when:
+  " - this plugin was already loaded
+***************
+*** 20,36 ****
+    "
+    " Set binary mode before reading the file.
+    " Use "gzip -d", gunzip isn't always available.
+!   autocmd BufReadPre,FileReadPre     *.gz,*.bz2,*.Z setlocal bin
+    autocmd BufReadPost,FileReadPost   *.gz  call gzip#read("gzip -dn")
+    autocmd BufReadPost,FileReadPost   *.bz2 call gzip#read("bzip2 -d")
+    autocmd BufReadPost,FileReadPost   *.Z   call gzip#read("uncompress")
+    autocmd BufWritePost,FileWritePost *.gz  call gzip#write("gzip")
+    autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
+    autocmd BufWritePost,FileWritePost *.Z   call gzip#write("compress -f")
+    autocmd FileAppendPre                      *.gz  call gzip#appre("gzip -dn")
+    autocmd FileAppendPre                      *.bz2 call gzip#appre("bzip2 -d")
+    autocmd FileAppendPre                      *.Z   call gzip#appre("uncompress")
+    autocmd FileAppendPost             *.gz  call gzip#write("gzip")
+    autocmd FileAppendPost             *.bz2 call gzip#write("bzip2")
+    autocmd FileAppendPost             *.Z   call gzip#write("compress -f")
+  augroup END
+--- 20,44 ----
+    "
+    " Set binary mode before reading the file.
+    " Use "gzip -d", gunzip isn't always available.
+!   autocmd BufReadPre,FileReadPre     *.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin
+    autocmd BufReadPost,FileReadPost   *.gz  call gzip#read("gzip -dn")
+    autocmd BufReadPost,FileReadPost   *.bz2 call gzip#read("bzip2 -d")
+    autocmd BufReadPost,FileReadPost   *.Z   call gzip#read("uncompress")
++   autocmd BufReadPost,FileReadPost   *.lzma call gzip#read("lzma -d")
++   autocmd BufReadPost,FileReadPost   *.xz  call gzip#read("xz -d")
+    autocmd BufWritePost,FileWritePost *.gz  call gzip#write("gzip")
+    autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
+    autocmd BufWritePost,FileWritePost *.Z   call gzip#write("compress -f")
++   autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z")
++   autocmd BufWritePost,FileWritePost *.xz  call gzip#write("xz -z")
+    autocmd FileAppendPre                      *.gz  call gzip#appre("gzip -dn")
+    autocmd FileAppendPre                      *.bz2 call gzip#appre("bzip2 -d")
+    autocmd FileAppendPre                      *.Z   call gzip#appre("uncompress")
++   autocmd FileAppendPre                      *.lzma call gzip#appre("lzma -d")
++   autocmd FileAppendPre                      *.xz   call gzip#appre("xz -d")
+    autocmd FileAppendPost             *.gz  call gzip#write("gzip")
+    autocmd FileAppendPost             *.bz2 call gzip#write("bzip2")
+    autocmd FileAppendPost             *.Z   call gzip#write("compress -f")
++   autocmd FileAppendPost             *.lzma call gzip#write("lzma -z")
++   autocmd FileAppendPost             *.xz call gzip#write("xz -z")
+  augroup END
+*** ../vim-7.2.393/src/version.c       2010-03-10 16:27:27.000000000 +0100
+--- src/version.c      2010-03-10 17:12:43.000000000 +0100
+***************
+*** 683,684 ****
+--- 683,686 ----
+  {   /* Add new patch number below this line */
++ /**/
++     394,
+  /**/
+
+-- 
+ARTHUR:  Be quiet!
+DENNIS:  --but by a two-thirds majority in the case of more--
+ARTHUR:  Be quiet!  I order you to be quiet!
+WOMAN:   Order, eh -- who does he think he is?
+ARTHUR:  I am your king!
+                                  The Quest for the Holy Grail (Monty Python)
+
+ /// 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/vim-ruby1.9.patch b/vim-ruby1.9.patch
deleted file mode 100644 (file)
index a6140fe..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-diff --git a/src/configure.in b/src/configure.in
-index fa58c6e..f6761db 100644
---- a/src/configure.in
-+++ b/src/configure.in
-@@ -953,10 +953,30 @@ if test "$enable_rubyinterp" = "yes"; then
-   AC_PATH_PROG(vi_cv_path_ruby, ruby)
-   if test "X$vi_cv_path_ruby" != "X"; then
-     AC_MSG_CHECKING(Ruby version)
--    if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
-+    if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.9.0" or exit 1' >/dev/null 2>/dev/null; then
-       AC_MSG_RESULT(OK)
-       AC_MSG_CHECKING(Ruby header files)
--      rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
-+      rubyhdrdirs=`$vi_cv_path_ruby -r rbconfig -e 'print RbConfig.expand("$(rubyhdrdir)/$(arch) $(rubyhdrdir)/ruby/backward $(rubyhdrdir)")' 2>/dev/null`
-+      if test "X$rubyhdrdirs" != "X"; then
-+      AC_MSG_RESULT($rubyhdrdirs)
-+      for rubyhdrdir in $rubyhdrdirs; do
-+        RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir"
-+      done
-+      librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print RbConfig::CONFIG[["LIBRUBYARG"]]'`
-+      if test "X$librubyarg" != "X"; then
-+        RUBY_LIBS="$librubyarg"
-+      fi
-+      RUBY_SRC="if_ruby.c"
-+      RUBY_OBJ="objects/if_ruby.o"
-+      RUBY_PRO="if_ruby.pro"
-+      AC_DEFINE(FEAT_RUBY)
-+      else
-+      AC_MSG_RESULT(not found, disabling Ruby)
-+      fi
-+    elif $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
-+      AC_MSG_RESULT(OK)
-+      AC_MSG_CHECKING(Ruby header files)
-+      rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["rubyincludedir"]] || $hdrdir' 2>/dev/null`
-       if test "X$rubyhdrdir" != "X"; then
-       AC_MSG_RESULT($rubyhdrdir)
-       RUBY_CFLAGS="-I$rubyhdrdir"
-diff --git a/src/if_ruby.c b/src/if_ruby.c
-index 0fed2c0..e571faa 100644
---- a/src/if_ruby.c
-+++ b/src/if_ruby.c
-@@ -129,7 +129,7 @@ static void ruby_vim_init(void);
- #define rb_str_concat                 dll_rb_str_concat
- #define rb_str_new                    dll_rb_str_new
- #define rb_str_new2                   dll_rb_str_new2
--#define ruby_errinfo                  (*dll_ruby_errinfo)
-+#define rb_errinfo                    dll_rb_errinfo
- #define ruby_init                     dll_ruby_init
- #define ruby_init_loadpath            dll_ruby_init_loadpath
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-@@ -245,7 +245,7 @@ static struct
-     {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
-     {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
-     {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2},
--    {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
-+    {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo},
-     {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
-     {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
-@@ -433,9 +433,6 @@ static int ensure_ruby_initialized(void)
- static void error_print(int state)
- {
--#ifndef DYNAMIC_RUBY
--    RUBYEXTERN VALUE ruby_errinfo;
--#endif
-     VALUE eclass;
-     VALUE einfo;
-     char buff[BUFSIZ];
-@@ -468,9 +465,9 @@ static void error_print(int state)
-       break;
-     case TAG_RAISE:
-     case TAG_FATAL:
--      eclass = CLASS_OF(ruby_errinfo);
--      einfo = rb_obj_as_string(ruby_errinfo);
--      if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) {
-+      eclass = CLASS_OF(rb_errinfo());
-+      einfo = rb_obj_as_string(rb_errinfo());
-+      if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) {
-           EMSG(_("E272: unhandled exception"));
-       }
-       else {
-@@ -479,7 +476,7 @@ static void error_print(int state)
-           epath = rb_class_path(eclass);
-           vim_snprintf(buff, BUFSIZ, "%s: %s",
--                   RSTRING(epath)->ptr, RSTRING(einfo)->ptr);
-+                   RSTRING_PTR(epath), RSTRING_PTR(einfo));
-           p = strchr(buff, '\n');
-           if (p) *p = '\0';
-           EMSG(buff);
-@@ -497,8 +494,8 @@ static VALUE vim_message(VALUE self UNUSED, VALUE str)
-     char *buff, *p;
-     str = rb_obj_as_string(str);
--    buff = ALLOCA_N(char, RSTRING(str)->len);
--    strcpy(buff, RSTRING(str)->ptr);
-+    buff = ALLOCA_N(char, RSTRING_LEN(str));
-+    strcpy(buff, RSTRING_PTR(str));
-     p = strchr(buff, '\n');
-     if (p) *p = '\0';
-     MSG(buff);
-@@ -628,7 +625,7 @@ static VALUE get_buffer_line(buf_T *buf, linenr_T n)
-       char *line = (char *)ml_get_buf(buf, n, FALSE);
-       return line ? rb_str_new2(line) : Qnil;
-     }
--    rb_raise(rb_eIndexError, "index %d out of buffer", n);
-+    rb_raise(rb_eIndexError, "index %ld out of buffer", n);
- #ifndef __GNUC__
-     return Qnil; /* For stop warning */
- #endif
-@@ -669,7 +666,7 @@ static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str)
-     }
-     else
-     {
--      rb_raise(rb_eIndexError, "index %d out of buffer", n);
-+      rb_raise(rb_eIndexError, "index %ld out of buffer", n);
- #ifndef __GNUC__
-       return Qnil; /* For stop warning */
- #endif
-@@ -715,7 +712,7 @@ static VALUE buffer_delete(VALUE self, VALUE num)
-     }
-     else
-     {
--      rb_raise(rb_eIndexError, "index %d out of buffer", n);
-+      rb_raise(rb_eIndexError, "index %ld out of buffer", n);
-     }
-     return Qnil;
- }
-@@ -749,7 +746,7 @@ static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
-       update_curbuf(NOT_VALID);
-     }
-     else {
--      rb_raise(rb_eIndexError, "index %d out of buffer", n);
-+      rb_raise(rb_eIndexError, "index %ld out of buffer", n);
-     }
-     return str;
- }
-@@ -890,10 +887,10 @@ static VALUE window_set_cursor(VALUE self, VALUE pos)
-     win_T *win = get_win(self);
-     Check_Type(pos, T_ARRAY);
--    if (RARRAY(pos)->len != 2)
-+    if (RARRAY_LEN(pos) != 2)
-       rb_raise(rb_eArgError, "array length must be 2");
--    lnum = RARRAY(pos)->ptr[0];
--    col = RARRAY(pos)->ptr[1];
-+    lnum = RARRAY_PTR(pos)[0];
-+    col = RARRAY_PTR(pos)[1];
-     win->w_cursor.lnum = NUM2LONG(lnum);
-     win->w_cursor.col = NUM2UINT(col);
-     check_cursor();               /* put cursor on an existing line */
-@@ -910,7 +907,7 @@ static VALUE f_p(int argc, VALUE *argv, VALUE self UNUSED)
-       if (i > 0) rb_str_cat(str, ", ", 2);
-       rb_str_concat(str, rb_inspect(argv[i]));
-     }
--    MSG(RSTRING(str)->ptr);
-+    MSG(RSTRING_PTR(str));
-     return Qnil;
- }
index aca37d623368578344f7f131a297765bc7822edb..7660304e07163ba4b1c5a08dd5d23fb93d6dad57 100644 (file)
--- a/vim.spec
+++ b/vim.spec
@@ -13,7 +13,7 @@
 %bcond_without home_etc        # without home_etc support
 
 %define                ver             7.2
-%define                patchlevel      356
+%define                patchlevel      394
 Summary:       Vi IMproved - a Vi clone
 Summary(de.UTF-8):     VIsual editor iMproved
 Summary(es.UTF-8):     Editor visual incrementado
@@ -26,7 +26,7 @@ Summary(tr.UTF-8):    Gelişmiş bir vi sürümü
 Summary(uk.UTF-8):     Visual editor IMproved - Єдино Вірний Редактор :)
 Name:          vim
 Version:       %{ver}.%{patchlevel}
-Release:       4
+Release:       1
 Epoch:         4
 License:       Charityware
 Group:         Applications/Editors/Vim
@@ -101,7 +101,6 @@ Patch112:   %{name}-localedir.patch
 Patch113:      %{name}-locales.patch
 Patch114:      %{name}-rtdir.patch
 Patch115:      %{name}-ft-mib.patch
-Patch116:      %{name}-ruby1.9.patch
 URL:           http://www.vim.org/
 BuildRequires: acl-devel
 BuildRequires: autoconf
@@ -713,7 +712,6 @@ jak również GUI GTK+2.
 %patch113 -p1
 %patch114 -p1
 %patch115 -p1
-%patch116 -p1
 
 cp -a %{SOURCE20} runtime/syntax
 cp -a %{SOURCE22} runtime/syntax
This page took 0.3288 seconds and 4 git commands to generate.