]> granicus.if.org Git - vim/commitdiff
Fixes and improvements for MS-Windows build.
authorBram Moolenaar <Bram@vim.org>
Sun, 18 Jul 2010 19:42:34 +0000 (21:42 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 18 Jul 2010 19:42:34 +0000 (21:42 +0200)
runtime/doc/if_perl.txt
runtime/doc/if_ruby.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/doc/version7.txt
src/Make_mvc.mak
src/Makefile
src/bigvim.bat
src/if_python3.c
src/undo.c
src/version.h

index 9f87e41ff1da95f419b2261d61faf3de2d1b2e7c..6ff56d87a4509ccb6d2ecfcfa2db9c7cea7b2a39 100644 (file)
@@ -272,11 +272,16 @@ This means that Vim will search for the Perl DLL file only when needed.  When
 you don't use the Perl interface you don't need it, thus you can use Vim
 without this DLL file.
 
-To use the Perl interface the Perl DLL must be in your search path.  In a
-console window type "path" to see what directories are used.
+You can download Perl from http://www.perl.org.  The one from ActiveState was
+used for building Vim.
+
+To use the Perl interface the Perl DLL must be in your search path.
+If Vim reports it cannot find the perl512.dll, make sure your $PATH includes
+the directory where it is localted.  The Perl installer normally does that.
+In a console window type "path" to see what directories are used.
 
 The name of the DLL must match the Perl version Vim was compiled with.
-Currently the name is "perl58.dll".  That is for Perl 5.8.  To know for
+Currently the name is "perl512.dll".  That is for Perl 5.12.  To know for
 sure edit "gvim.exe" and search for "perl\d*.dll\c".
 
 ==============================================================================
index ba54c1c02b14a8f64447428989f86ec2e72e4a05..c2373b9e71d67eab44e96dece820c3a2d8562548 100644 (file)
@@ -194,12 +194,20 @@ This means that Vim will search for the Ruby DLL file only when needed.  When
 you don't use the Ruby interface you don't need it, thus you can use Vim
 without this DLL file.
 
+You need to install the right version of Ruby for this to work.  You can find
+the package to download from:
+http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
+Currently that is ruby-1.9.1-p429-i386-mswin32.zip
+
 To use the Ruby interface the Ruby DLL must be in your search path.  In a
 console window type "path" to see what directories are used.
 
 The name of the DLL must match the Ruby version Vim was compiled with.
-Currently the name is "ruby18.dll".  That is for Ruby 1.8.  To know for sure
-edit "gvim.exe" and search for "ruby\d*.dll\c".
+Currently the name is "msvcrt-ruby191.dll".  That is for Ruby 1.9.1.  To know
+for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
+
+If you want to build Vim with Ruby 1.9.1, you need to edit the config.h file
+and comment-out the check for _MSC_VER.
 
 ==============================================================================
  vim:tw=78:ts=8:ft=help:norl:
index e21888e8534724e6485df097106fb879b0a1f7a5..249d66d166946059a842f630c5d7fc8e2acb68ce 100644 (file)
@@ -585,9 +585,7 @@ $VIMRUNTIME starting.txt    /*$VIMRUNTIME*
 'norevins'     options.txt     /*'norevins'*
 'nori' options.txt     /*'nori'*
 'norightleft'  options.txt     /*'norightleft'*
-'norightleftcmd'       options.txt     /*'norightleftcmd'*
 'norl' options.txt     /*'norl'*
-'norlc'        options.txt     /*'norlc'*
 'nornu'        options.txt     /*'nornu'*
 'noro' options.txt     /*'noro'*
 'nors' options.txt     /*'nors'*
index 928582d5e83321349e23acf366c394f7d513fd54..2a8382b8324b64bcc70d48fd23ee81ce3996b0bf 100644 (file)
@@ -1088,11 +1088,9 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
 
 
 Before (beta) release 7.3:
-- Add fixes for 7.2 to version7.txt
-- Add hg history to version7.txt
-- Remove UF_VERSION_CRYPT_PREV and UF_VERSION_PREV.
 - Documentation for Python 3 support.
-- Build the MS-Windows version with Python 2.6.5 and 3.1.2?
+- Build the MS-Windows version with Ruby 1.91.  How?
+- Build the MS-Windows version with newer Perl version?
 
 Before release 7.3:
 - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23)
index 7c03674ed9e01a4284eee7046b6c1402cd2c8b69..74c1d00db764eed8f9c18d512007db1b9802dc8b 100644 (file)
@@ -7214,6 +7214,8 @@ the "Edit with Vim" context menu.
 The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64
 bit version. (mostly by George Reilly)
 Made the DOS installer work with more compilers.
+The MS-Windows big gvim is now built with Python 2.7 and 3.1.2, Perl 5.12 and
+Ruby 1.9.1.
 
 The extra and language files are no longer distributed separately.
 The source files for all systems are included in one distribution.
@@ -7309,17 +7311,43 @@ Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
 Added the helphelp.txt file.  Moved text from various.txt to it.
 
 
-
 New syntax files:
-TODO
+Haskell Cabal build file (Vincent Berthoux)
+ChaiScript (Jason Turner)
+Cucumber (Tim Pope)
+Fantom (Kamil Toman)
+Liquid (Tim Pope)
+Markdown (Tim Pope)
+wavefront's obj file (Vincent Berthoux)
+Perl 6 (Andy Lester)
+SDC - Synopsys Design Constraints (Maurizio Tranchero)
+SVG - Scalable Vector Graphics (Vincent Berthoux)
+task data (John Florian)
+task 42 edit (John Florian)
 
 New filetype plugins:
-TODO
-
-New spell files:
-TODO
-Breton. (Dominique Pelle)
+Cucumber (Tim Pope)
+Liquid (Tim Pope)
+Markdown (Tim Pope)
+Tcl (Robert L Hicks)
+
+New indent plugins:
+ChaiScript (Jason Turner)
+Cucumber (Tim Pope)
+CUDA (Bram Moolenaar)
+LifeLines (Patrick Texier)
+Liquid (Tim Pope)
+Mail (Bram Moolenaar)
+Perl 6 (Andy Lester)
 
+Other new runtime files:
+Breton spell file (Dominique Pelle)
+Tutor Bairish (Sepp Hell)
+Tutor in Esperanto. (Dominique PellĂ©)
+Korean translations. (SungHyun Nam)
+Dvorak keymap (Ashish Shukla)
+Serbian menu translations (Aleksandar Jelenak)
+Tetum spell files.
 
 
 Fixed                                                  *fixed-7.3*
index c0704503c2f1c7204333ed7bd86af33e59373ba3..9d34633ce0c73922690882372e54013f698ce9fb 100644 (file)
@@ -817,7 +817,11 @@ RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
 !message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)"
 CFLAGS = $(CFLAGS) -DFEAT_RUBY
 RUBY_OBJ = $(OUTDIR)\if_ruby.obj
+!if $(RUBY_VER) >= 190
+RUBY_INC = /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)"
+!else
 RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)"
+!endif
 RUBY_LIB = $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib
 # Do we want to load Ruby dynamically?
 !if "$(DYNAMIC_RUBY)" == "yes"
index db38f937f666880a5488ca89ed5849b50f5cce93..2211ba0528c9f6b391f12ff6446e3f24f20911b6 100644 (file)
@@ -404,7 +404,7 @@ CClink = $(CC)
 # If both python2.x and python3.x are enabled then the linking will be via
 # dlopen(), dlsym(), dlclose(), i.e. pythonX.Y.so must be available
 #CONF_OPT_PYTHON = --enable-pythoninterp
-#CONF_OPT_PYTHON3 = --enable-python3interp
+CONF_OPT_PYTHON3 = --enable-python3interp
 
 # RUBY
 # Uncomment this when you want to include the Ruby interface.
index ded5bc41d635bea454feb87296f881b47d816a84..6ba89e62c5982abc2b43e53f1885344c60c0d611 100644 (file)
@@ -1,3 +1,3 @@
 :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
-nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl58 DYNAMIC_PERL=yes PERL_VER=58 PYTHON=e:\python24 DYNAMIC_PYTHON=yes PYTHON_VER=24 RUBY=e:\ruby18 DYNAMIC_RUBY=yes RUBY_VER=18 RUBY_VER_LONG=1.8 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
+nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl512 DYNAMIC_PERL=yes PERL_VER=512 PYTHON=e:\python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=e:\python31 DYNAMIC_PYTHON3=yes PYTHON3_VER=31 RUBY=e:\ruby191 DYNAMIC_RUBY=yes RUBY_VER=191 RUBY_VER_LONG=1.9.1 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
 
index 5400dc6165650ee27b19e8d34d47e73842710a63..410dc1484f22d52aaded1e73c4dd844ec4a3c81e 100644 (file)
@@ -321,6 +321,7 @@ static void end_dynamic_python3(void)
 static int py3_runtime_link_init(char *libname, int verbose)
 {
     int i;
+    void *ucs_from_string, *ucs_from_string_and_size;
 
     if (hinstPy3)
        return OK;
@@ -346,11 +347,8 @@ static int py3_runtime_link_init(char *libname, int verbose)
        }
     }
 
-    /* load unicode functions separately as only the ucs2 or the ucs4 functions
-     * will be present in the library
-     */
-    void *ucs_from_string, *ucs_from_string_and_size;
-
+    /* Load unicode functions separately as only the ucs2 or the ucs4 functions
+     * will be present in the library. */
     ucs_from_string = symbol_from_dll(hinstPy3, "PyUnicodeUCS2_FromString");
     ucs_from_string_and_size = symbol_from_dll(hinstPy3,
            "PyUnicodeUCS2_FromStringAndSize");
@@ -438,7 +436,7 @@ static Py_ssize_t RangeEnd;
 static void PythonIO_Flush(void);
 static int PythonIO_Init(void);
 static void PythonIO_Fini(void);
-static PyMODINIT_FUNC Py3Init_vim(void);
+PyMODINIT_FUNC Py3Init_vim(void);
 
 /* Utility functions for the vim/python interface
  * ----------------------------------------------
@@ -2222,7 +2220,8 @@ PyDoc_STRVAR(vim_module_doc,"vim python interface\n");
 
 static struct PyModuleDef vimmodule;
 
-static PyMODINIT_FUNC Py3Init_vim(void)
+#ifndef PROTO
+PyMODINIT_FUNC Py3Init_vim(void)
 {
     PyObject *mod;
     /* The special value is removed from sys.path in Python3_Init(). */
@@ -2255,6 +2254,7 @@ static PyMODINIT_FUNC Py3Init_vim(void)
 
     return mod;
 }
+#endif
 
 /*************************************************************************
  * 4. Utility functions for handling the interface between Vim and Python.
index 0423094fe4b3e86ba83c732b3bad0141c95674df..7abd67b2b33e9973d8fdeed9d3272c85ebef20dd 100644 (file)
@@ -106,7 +106,7 @@ static size_t fwrite_crypt __ARGS((buf_T *buf UNUSED, char_u *ptr, size_t len, F
 static char_u *read_string_decrypt __ARGS((buf_T *buf UNUSED, FILE *fd, int len));
 static int serialize_header __ARGS((FILE *fp, buf_T *buf, char_u *hash));
 static int serialize_uhp __ARGS((FILE *fp, buf_T *buf, u_header_T *uhp));
-static u_header_T *unserialize_uhp __ARGS((FILE *fp, char_u *file_name, int new_version));
+static u_header_T *unserialize_uhp __ARGS((FILE *fp, char_u *file_name));
 static int serialize_uep __ARGS((FILE *fp, buf_T *buf, u_entry_T *uep));
 static u_entry_T *unserialize_uep __ARGS((FILE *fp, int *error, char_u *file_name));
 static void serialize_pos __ARGS((pos_T pos, FILE *fp));
@@ -694,9 +694,7 @@ nomem:
 # define UF_HEADER_END_MAGIC   0xe7aa  /* magic after last header */
 # define UF_ENTRY_MAGIC                0xf518  /* magic at start of entry */
 # define UF_ENTRY_END_MAGIC    0x3581  /* magic after last entry */
-# define UF_VERSION_PREV       1       /* 2-byte undofile version number */
 # define UF_VERSION            2       /* 2-byte undofile version number */
-# define UF_VERSION_CRYPT_PREV 0x8001  /* idem, encrypted */
 # define UF_VERSION_CRYPT      0x8002  /* idem, encrypted */
 
 /* extra fields for header */
@@ -1019,10 +1017,9 @@ serialize_uhp(fp, buf, uhp)
 }
 
     static u_header_T *
-unserialize_uhp(fp, file_name, new_version)
+unserialize_uhp(fp, file_name)
     FILE       *fp;
     char_u     *file_name;
-    int                new_version;
 {
     u_header_T *uhp;
     int                i;
@@ -1068,26 +1065,25 @@ unserialize_uhp(fp, file_name, new_version)
     uhp->uh_time = get8ctime(fp);
 
     /* Optional fields. */
-    if (new_version)
-       for (;;)
-       {
-           int len = getc(fp);
-           int what;
+    for (;;)
+    {
+       int len = getc(fp);
+       int what;
 
-           if (len == 0)
+       if (len == 0)
+           break;
+       what = getc(fp);
+       switch (what)
+       {
+           case UHP_SAVE_NR:
+               uhp->uh_save_nr = get4c(fp);
                break;
-           what = getc(fp);
-           switch (what)
-           {
-               case UHP_SAVE_NR:
-                   uhp->uh_save_nr = get4c(fp);
-                   break;
-               default:
-                   /* field not supported, skip */
-                   while (--len >= 0)
-                       (void)getc(fp);
-           }
+           default:
+               /* field not supported, skip */
+               while (--len >= 0)
+                   (void)getc(fp);
        }
+    }
 
     /* Unserialize the uep list. */
     last_uep = NULL;
@@ -1564,7 +1560,6 @@ u_read_undo(name, hash, orig_name)
     char_u     *file_name;
     FILE       *fp;
     long       version, str_len;
-    int                new_version;
     char_u     *line_ptr = NULL;
     linenr_T   line_lnum;
     colnr_T    line_colnr;
@@ -1645,7 +1640,7 @@ u_read_undo(name, hash, orig_name)
        goto error;
     }
     version = get2c(fp);
-    if (version == UF_VERSION_CRYPT || version == UF_VERSION_CRYPT_PREV)
+    if (version == UF_VERSION_CRYPT)
     {
 #ifdef FEAT_CRYPT
        if (*curbuf->b_p_key == NUL)
@@ -1665,12 +1660,11 @@ u_read_undo(name, hash, orig_name)
        goto error;
 #endif
     }
-    else if (version != UF_VERSION && version != UF_VERSION_PREV)
+    else if (version != UF_VERSION)
     {
        EMSG2(_("E824: Incompatible undo file: %s"), file_name);
        goto error;
     }
-    new_version = (version == UF_VERSION || version == UF_VERSION_CRYPT);
 
     if (fread(read_hash, UNDO_HASH_SIZE, 1, fp) != 1)
     {
@@ -1716,27 +1710,26 @@ u_read_undo(name, hash, orig_name)
     seq_cur = get4c(fp);
     seq_time = get8ctime(fp);
 
-    /* Optional header fields, not in previous version. */
-    if (new_version)
-       for (;;)
-       {
-           int len = getc(fp);
-           int what;
+    /* Optional header fields. */
+    for (;;)
+    {
+       int len = getc(fp);
+       int what;
 
-           if (len == 0 || len == EOF)
+       if (len == 0 || len == EOF)
+           break;
+       what = getc(fp);
+       switch (what)
+       {
+           case UF_LAST_SAVE_NR:
+               last_save_nr = get4c(fp);
                break;
-           what = getc(fp);
-           switch (what)
-           {
-               case UF_LAST_SAVE_NR:
-                   last_save_nr = get4c(fp);
-                   break;
-               default:
-                   /* field not supported, skip */
-                   while (--len >= 0)
-                       (void)getc(fp);
-           }
+           default:
+               /* field not supported, skip */
+               while (--len >= 0)
+                   (void)getc(fp);
        }
+    }
 
     /* uhp_table will store the freshly created undo headers we allocate
      * until we insert them into curbuf. The table remains sorted by the
@@ -1758,7 +1751,7 @@ u_read_undo(name, hash, orig_name)
            goto error;
        }
 
-       uhp = unserialize_uhp(fp, file_name, new_version);
+       uhp = unserialize_uhp(fp, file_name);
        if (uhp == NULL)
            goto error;
        uhp_table[num_read_uhps++] = uhp;
index df420abad097f442ef70d1db6d0b0d032edb36c6..7dd45890dace5b8bba7ebe42108a875920071a1f 100644 (file)
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT      "vim73a"
 #define VIM_VERSION_SHORT      "7.3a"
 #define VIM_VERSION_MEDIUM     "7.3a BETA"
-#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.3 BETA (2010 Jul 7)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.3 BETA (2010 Jul 7, compiled "
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.3a BETA (2010 Jul 18)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.3a BETA (2010 Jul 18, compiled "