Patch 7.3.639
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Include the required files, they are quite small.  Update the
            MSVC makefile to use them.  Binary files are in the next patch.
            (Sergey Khorev)
Files:      src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h,
            src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat,
            src/bigvim64.bat, Filelist


*** ../vim-7.3.638/src/xpm/COPYRIGHT    1970-01-01 01:00:00.000000000 +0100
--- src/xpm/COPYRIGHT   1998-03-19 23:51:00.000000000 +0100
***************
*** 0 ****
--- 1,31 ----
+ /*
+  * Copyright (C) 1989-95 GROUPE BULL
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a 
copy
+  * of this software and associated documentation files (the "Software"), to
+  * deal in the Software without restriction, including without limitation the
+  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+  * sell copies of the Software, and to permit persons to whom the Software is
+  * furnished to do so, subject to the following conditions:
+  *
+  * The above copyright notice and this permission notice shall be included in
+  * all copies or substantial portions of the Software.
+  *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+  *
+  * Except as contained in this notice, the name of GROUPE BULL shall not be
+  * used in advertising or otherwise to promote the sale, use or other dealings
+  * in this Software without prior written authorization from GROUPE BULL.
+  */
+ 
+ Arnaud LE HORS      BULL Research FRANCE -- Koala Project 
+                     (XPM - X PixMap format version 2 & 3)
+     Internet:       [email protected]
+ Surface Mail:       Arnaud LE HORS, INRIA - Sophia Antipolis, 
+                     2004, route des Lucioles, 06565 Valbonne Cedex -- FRANCE
+  Voice phone:       (33) 93.65.77.71, Fax: (33) 93 65 77 66, Telex: 97 00 50 F
*** ../vim-7.3.638/src/xpm/README.txt   1970-01-01 01:00:00.000000000 +0100
--- src/xpm/README.txt  2012-08-29 13:29:17.000000000 +0200
***************
*** 0 ****
--- 1,23 ----
+ This is XPM library compiled for Windows which is intended for use with Vim
+ 'signs' feature.
+ 
+ Libraries in x86 directory were compiled with MSVC6 and MinGW. Proposed
+ commands to compile Vim are:
+ 
+ Any version of MSVC starting from version 6.0:
+ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes NETBEANS=yes XPM=e:\hg\xpm\x86
+ 
+ MinGW:
+ mingw32-make -f Make_ming.mak GUI=yes CSCOPE=yes XPM=e:/hg/xpm/x86
+ 
+ Microsoft Visual C++ on x64 (tested with versions 2008 and 2010):
+ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes XPM=E:\HG\xpm\x64
+ 
+ To test, open some file in Vim and execute commands below:
+ :exe 'sign define vimxpm icon='.$VIMRUNTIME.'\\vim32x32.xpm'
+ :exe 'sign place 1 line=1 name=vimxpm file='.expand('%:p')
+ 
+ 
+ See COPYRIGHT for XPM licence.
+ 
+ If you have questions please email [email protected].
*** ../vim-7.3.638/src/xpm/include/simx.h       1970-01-01 01:00:00.000000000 
+0100
--- src/xpm/include/simx.h      1998-03-19 23:51:00.000000000 +0100
***************
*** 0 ****
--- 1,139 ----
+ /*
+  * Copyright (C) 1989-95 GROUPE BULL
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a 
copy
+  * of this software and associated documentation files (the "Software"), to
+  * deal in the Software without restriction, including without limitation the
+  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+  * sell copies of the Software, and to permit persons to whom the Software is
+  * furnished to do so, subject to the following conditions:
+  *
+  * The above copyright notice and this permission notice shall be included in
+  * all copies or substantial portions of the Software.
+  *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+  *
+  * Except as contained in this notice, the name of GROUPE BULL shall not be
+  * used in advertising or otherwise to promote the sale, use or other dealings
+  * in this Software without prior written authorization from GROUPE BULL.
+  */
+ 
+ 
/*****************************************************************************\
+ * simx.h: 0.1a                                                                
*
+ *                                                                             
*
+ * This emulates some Xlib functionality for MSW. It's not a general solution, 
*
+ * it is close related to XPM-lib. It is only intended to satisfy what is need 
*
+ * there. Thus allowing to read XPM files under MS windows.                    
*
+ *                                                                             
*
+ * Developed by HeDu 3/94 ([email protected])                           
*
+ 
\*****************************************************************************/
+ 
+ 
+ #ifndef _SIMX_H
+ #define _SIMX_H
+ 
+ #ifdef FOR_MSW
+ 
+ #include "windows.h"                  /* MS windows GDI types */
+ 
+ /*
+  * minimal portability layer between ansi and KR C
+  */
+ /* this comes from xpm.h, and is here again, to avoid complicated
+     includes, since this is included from xpm.h */
+ /* these defines get undefed at the end of this file */
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus)
+  /* ANSI || C++ */
+ #define FUNC(f, t, p) extern t f p
+ #define LFUNC(f, t, p) static t f p
+ #else /* k&R */
+ #define FUNC(f, t, p) extern t f()
+ #define LFUNC(f, t, p) static t f()
+ #endif
+ 
+ 
+ FUNC(boundCheckingMalloc, void *, (long s));
+ FUNC(boundCheckingCalloc, void *, (long num, long s));
+ FUNC(boundCheckingRealloc, void *, (void *p, long s));
+ 
+ /* define MSW types for X window types,
+    I don't know much about MSW, but the following defines do the job */
+ 
+ typedef HDC Display;                  /* this should be similar */
+ typedef void *Screen;                 /* not used */
+ typedef void *Visual;                 /* not used yet, is for GRAY, COLOR,
+                                        * MONO */
+ 
+ typedef void *Colormap;                       /* should be COLORPALETTE, not 
done
+                                        * yet */
+ 
+ typedef COLORREF Pixel;
+ 
+ #define PIXEL_ALREADY_TYPEDEFED               /* to let xpm.h know about it */
+ 
+ typedef struct {
+     Pixel pixel;
+     BYTE red, green, blue;
+ }      XColor;
+ 
+ typedef struct {
+     HBITMAP bitmap;
+     unsigned int width;
+     unsigned int height;
+     unsigned int depth;
+ }      XImage;
+ 
+ #if defined(__cplusplus) || defined(c_plusplus)
+ extern "C" {
+ #endif
+ /* some replacements for X... functions */
+ 
+ /* XDefaultXXX */
+     FUNC(XDefaultVisual, Visual *, (Display *display, Screen *screen));
+     FUNC(XDefaultScreen, Screen *, (Display *d));
+     FUNC(XDefaultColormap, Colormap *, (Display *display, Screen *screen));
+     FUNC(XDefaultDepth, int, (Display *d, Screen *s));
+ 
+ /* color related */
+     FUNC(XParseColor, int, (Display *, Colormap *, char *, XColor *));
+     FUNC(XAllocColor, int, (Display *, Colormap *, XColor *));
+     FUNC(XQueryColors, void, (Display *display, Colormap *colormap,
+                             XColor *xcolors, int ncolors));
+     FUNC(XFreeColors, int, (Display *d, Colormap cmap,
+                           unsigned long pixels[],
+                           int npixels, unsigned long planes));
+ /* XImage */
+     FUNC(XCreateImage, XImage *, (Display *, Visual *, int depth, int format,
+                                 int x, int y, int width, int height,
+                                 int pad, int foo));
+ 
+ /* free and destroy bitmap */
+     FUNC(XDestroyImage, void /* ? */ , (XImage *));
+ /* free only, bitmap remains */
+     FUNC(XImageFree, void, (XImage *));
+ #if defined(__cplusplus) || defined(c_plusplus)
+ } /* end of extern "C" */
+ #endif /* cplusplus */
+ 
+ #define ZPixmap 1                     /* not really used */
+ #define XYBitmap 1                    /* not really used */
+ 
+ #ifndef True
+ #define True 1
+ #define False 0
+ #endif
+ #ifndef Bool
+ typedef BOOL Bool;            /* take MSW bool */
+ #endif
+ /* make these local here, simx.c gets the same from xpm.h */
+ #undef LFUNC
+ #undef FUNC
+ 
+ #endif /* def FOR_MSW */
+ 
+ #endif /* _SIMX_H */
*** ../vim-7.3.638/src/xpm/include/xpm.h        1970-01-01 01:00:00.000000000 
+0100
--- src/xpm/include/xpm.h       1998-03-19 23:51:00.000000000 +0100
***************
*** 0 ****
--- 1,501 ----
+ /*
+  * Copyright (C) 1989-95 GROUPE BULL
+  *
+  * Permission is hereby granted, free of charge, to any person obtaining a 
copy
+  * of this software and associated documentation files (the "Software"), to
+  * deal in the Software without restriction, including without limitation the
+  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+  * sell copies of the Software, and to permit persons to whom the Software is
+  * furnished to do so, subject to the following conditions:
+  *
+  * The above copyright notice and this permission notice shall be included in
+  * all copies or substantial portions of the Software.
+  *
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+  *
+  * Except as contained in this notice, the name of GROUPE BULL shall not be
+  * used in advertising or otherwise to promote the sale, use or other dealings
+  * in this Software without prior written authorization from GROUPE BULL.
+  */
+ 
+ 
/*****************************************************************************\
+ * xpm.h:                                                                      
*
+ *                                                                             
*
+ *  XPM library                                                                
*
+ *  Include file                                                               
*
+ *                                                                             
*
+ *  Developed by Arnaud Le Hors                                                
*
+ 
\*****************************************************************************/
+ 
+ /*
+  * The code related to FOR_MSW has been added by
+  * HeDu ([email protected]) 4/94
+  */
+ 
+ /*
+  * The code related to AMIGA has been added by
+  * Lorens Younes ([email protected]) 4/96
+  */
+ 
+ #ifndef XPM_h
+ #define XPM_h
+ 
+ /*
+  * first some identification numbers:
+  * the version and revision numbers are determined with the following rule:
+  * SO Major number = LIB minor version number.
+  * SO Minor number = LIB sub-minor version number.
+  * e.g: Xpm version 3.2f
+  *      we forget the 3 which is the format number, 2 gives 2, and f gives 6.
+  *      thus we have XpmVersion = 2 and XpmRevision = 6
+  *      which gives  SOXPMLIBREV = 2.6
+  *
+  * Then the XpmIncludeVersion number is built from these numbers.
+  */
+ #define XpmFormat 3
+ #define XpmVersion 4
+ #define XpmRevision 11
+ #define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision)
+ 
+ #ifndef XPM_NUMBERS
+ 
+ #ifdef FOR_MSW
+ # define SYSV                 /* uses memcpy string.h etc. */
+ # include <malloc.h>
+ # include "simx.h"            /* defines some X stuff using MSW types */
+ #define NEED_STRCASECMP               /* at least for MSVC++ */
+ #else /* FOR_MSW */
+ # ifdef AMIGA
+ #  include "amigax.h"
+ # else /* not AMIGA */
+ #  include <X11/Xlib.h>
+ #  include <X11/Xutil.h>
+ # endif /* not AMIGA */
+ #endif /* FOR_MSW */
+ 
+ /* let's define Pixel if it is not done yet */
+ #if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
+ typedef unsigned long Pixel;  /* Index into colormap */
+ # define PIXEL_ALREADY_TYPEDEFED
+ #endif
+ 
+ /* make sure we know whether function prototypes are needed or not */
+ #ifndef NeedFunctionPrototypes
+ # if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
+ #  define NeedFunctionPrototypes 1
+ # else
+ #  define NeedFunctionPrototypes 0
+ # endif
+ #endif
+ 
+ 
+ /* Return ErrorStatus codes:
+  * null     if full success
+  * positive if partial success
+  * negative if failure
+  */
+ 
+ #define XpmColorError    1
+ #define XpmSuccess       0
+ #define XpmOpenFailed   -1
+ #define XpmFileInvalid  -2
+ #define XpmNoMemory     -3
+ #define XpmColorFailed  -4
+ 
+ typedef struct {
+     char *name;                       /* Symbolic color name */
+     char *value;              /* Color value */
+     Pixel pixel;              /* Color pixel */
+ }      XpmColorSymbol;
+ 
+ typedef struct {
+     char *name;                       /* name of the extension */
+     unsigned int nlines;      /* number of lines in this extension */
+     char **lines;             /* pointer to the extension array of strings */
+ }      XpmExtension;
+ 
+ typedef struct {
+     char *string;             /* characters string */
+     char *symbolic;           /* symbolic name */
+     char *m_color;            /* monochrom default */
+     char *g4_color;           /* 4 level grayscale default */
+     char *g_color;            /* other level grayscale default */
+     char *c_color;            /* color default */
+ }      XpmColor;
+ 
+ typedef struct {
+     unsigned int width;               /* image width */
+     unsigned int height;      /* image height */
+     unsigned int cpp;         /* number of characters per pixel */
+     unsigned int ncolors;     /* number of colors */
+     XpmColor *colorTable;     /* list of related colors */
+     unsigned int *data;               /* image data */
+ }      XpmImage;
+ 
+ typedef struct {
+     unsigned long valuemask;  /* Specifies which attributes are defined */
+     char *hints_cmt;          /* Comment of the hints section */
+     char *colors_cmt;         /* Comment of the colors section */
+     char *pixels_cmt;         /* Comment of the pixels section */
+     unsigned int x_hotspot;   /* Returns the x hotspot's coordinate */
+     unsigned int y_hotspot;   /* Returns the y hotspot's coordinate */
+     unsigned int nextensions; /* number of extensions */
+     XpmExtension *extensions; /* pointer to array of extensions */
+ }      XpmInfo;
+ 
+ typedef int (*XpmAllocColorFunc)(
+ #if NeedFunctionPrototypes
+     Display*                  /* display */,
+     Colormap                  /* colormap */,
+     char*                     /* colorname */,
+     XColor*                   /* xcolor */,
+     void*                     /* closure */
+ #endif
+ );
+ 
+ typedef int (*XpmFreeColorsFunc)(
+ #if NeedFunctionPrototypes
+     Display*                  /* display */,
+     Colormap                  /* colormap */,
+     Pixel*                    /* pixels */,
+     int                               /* npixels */,
+     void*                     /* closure */
+ #endif
+ );
+ 
+ typedef struct {
+     unsigned long valuemask;          /* Specifies which attributes are
+                                          defined */
+ 
+     Visual *visual;                   /* Specifies the visual to use */
+     Colormap colormap;                        /* Specifies the colormap to 
use */
+     unsigned int depth;                       /* Specifies the depth */
+     unsigned int width;                       /* Returns the width of the 
created
+                                          pixmap */
+     unsigned int height;              /* Returns the height of the created
+                                          pixmap */
+     unsigned int x_hotspot;           /* Returns the x hotspot's
+                                          coordinate */
+     unsigned int y_hotspot;           /* Returns the y hotspot's
+                                          coordinate */
+     unsigned int cpp;                 /* Specifies the number of char per
+                                          pixel */
+     Pixel *pixels;                    /* List of used color pixels */
+     unsigned int npixels;             /* Number of used pixels */
+     XpmColorSymbol *colorsymbols;     /* List of color symbols to override */
+     unsigned int numsymbols;          /* Number of symbols */
+     char *rgb_fname;                  /* RGB text file name */
+     unsigned int nextensions;         /* Number of extensions */
+     XpmExtension *extensions;         /* List of extensions */
+ 
+     unsigned int ncolors;               /* Number of colors */
+     XpmColor *colorTable;               /* List of colors */
+ /* 3.2 backward compatibility code */
+     char *hints_cmt;                    /* Comment of the hints section */
+     char *colors_cmt;                   /* Comment of the colors section */
+     char *pixels_cmt;                   /* Comment of the pixels section */
+ /* end 3.2 bc */
+     unsigned int mask_pixel;            /* Color table index of transparent
+                                            color */
+ 
+     /* Color Allocation Directives */
+     Bool exactColors;                 /* Only use exact colors for visual */
+     unsigned int closeness;           /* Allowable RGB deviation */
+     unsigned int red_closeness;               /* Allowable red deviation */
+     unsigned int green_closeness;     /* Allowable green deviation */
+     unsigned int blue_closeness;      /* Allowable blue deviation */
+     int color_key;                    /* Use colors from this color set */
+ 
+     Pixel *alloc_pixels;              /* Returns the list of alloc'ed color
+                                          pixels */
+     int nalloc_pixels;                        /* Returns the number of 
alloc'ed
+                                          color pixels */
+ 
+     Bool alloc_close_colors;          /* Specify whether close colors should
+                                          be allocated using XAllocColor
+                                          or not */
+     int bitmap_format;                        /* Specify the format of 1bit 
depth
+                                          images: ZPixmap or XYBitmap */
+ 
+     /* Color functions */
+     XpmAllocColorFunc alloc_color;    /* Application color allocator */
+     XpmFreeColorsFunc free_colors;    /* Application color de-allocator */
+     void *color_closure;              /* Application private data to pass to
+                                          alloc_color and free_colors */
+ 
+ }      XpmAttributes;
+ 
+ /* XpmAttributes value masks bits */
+ #define XpmVisual        (1L<<0)
+ #define XpmColormap      (1L<<1)
+ #define XpmDepth         (1L<<2)
+ #define XpmSize                  (1L<<3)      /* width & height */
+ #define XpmHotspot       (1L<<4)      /* x_hotspot & y_hotspot */
+ #define XpmCharsPerPixel   (1L<<5)
+ #define XpmColorSymbols          (1L<<6)
+ #define XpmRgbFilename           (1L<<7)
+ /* 3.2 backward compatibility code */
+ #define XpmInfos         (1L<<8)
+ #define XpmReturnInfos           XpmInfos
+ /* end 3.2 bc */
+ #define XpmReturnPixels          (1L<<9)
+ #define XpmExtensions      (1L<<10)
+ #define XpmReturnExtensions XpmExtensions
+ 
+ #define XpmExactColors     (1L<<11)
+ #define XpmCloseness     (1L<<12)
+ #define XpmRGBCloseness          (1L<<13)
+ #define XpmColorKey      (1L<<14)
+ 
+ #define XpmColorTable      (1L<<15)
+ #define XpmReturnColorTable XpmColorTable
+ 
+ #define XpmReturnAllocPixels (1L<<16)
+ #define XpmAllocCloseColors (1L<<17)
+ #define XpmBitmapFormat    (1L<<18)
+ 
+ #define XpmAllocColor      (1L<<19)
+ #define XpmFreeColors      (1L<<20)
+ #define XpmColorClosure    (1L<<21)
+ 
+ 
+ /* XpmInfo value masks bits */
+ #define XpmComments        XpmInfos
+ #define XpmReturnComments  XpmComments
+ 
+ /* XpmAttributes mask_pixel value when there is no mask */
+ #ifndef FOR_MSW
+ #define XpmUndefPixel 0x80000000
+ #else
+ /* int is only 16 bit for MSW */
+ #define XpmUndefPixel 0x8000
+ #endif
+ 
+ /*
+  * color keys for visual type, they must fit along with the number key of
+  * each related element in xpmColorKeys[] defined in XpmI.h
+  */
+ #define XPM_MONO      2
+ #define XPM_GREY4     3
+ #define XPM_GRAY4     3
+ #define XPM_GREY      4
+ #define XPM_GRAY      4
+ #define XPM_COLOR     5
+ 
+ 
+ /* macros for forward declarations of functions with prototypes */
+ #if NeedFunctionPrototypes
+ #define FUNC(f, t, p) extern t f p
+ #define LFUNC(f, t, p) static t f p
+ #else
+ #define FUNC(f, t, p) extern t f()
+ #define LFUNC(f, t, p) static t f()
+ #endif
+ 
+ 
+ /*
+  * functions declarations
+  */
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */
+ /* Same for Amiga! */
+ 
+ #if !defined(FOR_MSW) && !defined(AMIGA)
+     FUNC(XpmCreatePixmapFromData, int, (Display *display,
+                                       Drawable d,
+                                       char **data,
+                                       Pixmap *pixmap_return,
+                                       Pixmap *shapemask_return,
+                                       XpmAttributes *attributes));
+ 
+     FUNC(XpmCreateDataFromPixmap, int, (Display *display,
+                                       char ***data_return,
+                                       Pixmap pixmap,
+                                       Pixmap shapemask,
+                                       XpmAttributes *attributes));
+ 
+     FUNC(XpmReadFileToPixmap, int, (Display *display,
+                                   Drawable d,
+                                   char *filename,
+                                   Pixmap *pixmap_return,
+                                   Pixmap *shapemask_return,
+                                   XpmAttributes *attributes));
+ 
+     FUNC(XpmWriteFileFromPixmap, int, (Display *display,
+                                      char *filename,
+                                      Pixmap pixmap,
+                                      Pixmap shapemask,
+                                      XpmAttributes *attributes));
+ #endif
+ 
+     FUNC(XpmCreateImageFromData, int, (Display *display,
+                                      char **data,
+                                      XImage **image_return,
+                                      XImage **shapemask_return,
+                                      XpmAttributes *attributes));
+ 
+     FUNC(XpmCreateDataFromImage, int, (Display *display,
+                                      char ***data_return,
+                                      XImage *image,
+                                      XImage *shapeimage,
+                                      XpmAttributes *attributes));
+ 
+     FUNC(XpmReadFileToImage, int, (Display *display,
+                                  char *filename,
+                                  XImage **image_return,
+                                  XImage **shapeimage_return,
+                                  XpmAttributes *attributes));
+ 
+     FUNC(XpmWriteFileFromImage, int, (Display *display,
+                                     char *filename,
+                                     XImage *image,
+                                     XImage *shapeimage,
+                                     XpmAttributes *attributes));
+ 
+     FUNC(XpmCreateImageFromBuffer, int, (Display *display,
+                                        char *buffer,
+                                        XImage **image_return,
+                                        XImage **shapemask_return,
+                                        XpmAttributes *attributes));
+ #if !defined(FOR_MSW) && !defined(AMIGA)
+     FUNC(XpmCreatePixmapFromBuffer, int, (Display *display,
+                                         Drawable d,
+                                         char *buffer,
+                                         Pixmap *pixmap_return,
+                                         Pixmap *shapemask_return,
+                                         XpmAttributes *attributes));
+ 
+     FUNC(XpmCreateBufferFromImage, int, (Display *display,
+                                        char **buffer_return,
+                                        XImage *image,
+                                        XImage *shapeimage,
+                                        XpmAttributes *attributes));
+ 
+     FUNC(XpmCreateBufferFromPixmap, int, (Display *display,
+                                         char **buffer_return,
+                                         Pixmap pixmap,
+                                         Pixmap shapemask,
+                                         XpmAttributes *attributes));
+ #endif
+     FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return));
+     FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer));
+ 
+     FUNC(XpmReadFileToData, int, (char *filename, char ***data_return));
+     FUNC(XpmWriteFileFromData, int, (char *filename, char **data));
+ 
+     FUNC(XpmAttributesSize, int, ());
+     FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes));
+     FUNC(XpmFreeExtensions, void, (XpmExtension *extensions,
+                                  int nextensions));
+ 
+     FUNC(XpmFreeXpmImage, void, (XpmImage *image));
+     FUNC(XpmFreeXpmInfo, void, (XpmInfo *info));
+     FUNC(XpmGetErrorString, char *, (int errcode));
+     FUNC(XpmLibraryVersion, int, ());
+ 
+     /* XpmImage functions */
+     FUNC(XpmReadFileToXpmImage, int, (char *filename,
+                                     XpmImage *image,
+                                     XpmInfo *info));
+ 
+     FUNC(XpmWriteFileFromXpmImage, int, (char *filename,
+                                        XpmImage *image,
+                                        XpmInfo *info));
+ #if !defined(FOR_MSW) && !defined(AMIGA)
+     FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display,
+                                           Drawable d,
+                                           XpmImage *image,
+                                           Pixmap *pixmap_return,
+                                           Pixmap *shapemask_return,
+                                           XpmAttributes *attributes));
+ #endif
+     FUNC(XpmCreateImageFromXpmImage, int, (Display *display,
+                                          XpmImage *image,
+                                          XImage **image_return,
+                                          XImage **shapeimage_return,
+                                          XpmAttributes *attributes));
+ 
+     FUNC(XpmCreateXpmImageFromImage, int, (Display *display,
+                                          XImage *image,
+                                          XImage *shapeimage,
+                                          XpmImage *xpmimage,
+                                          XpmAttributes *attributes));
+ #if !defined(FOR_MSW) && !defined(AMIGA)
+     FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display,
+                                           Pixmap pixmap,
+                                           Pixmap shapemask,
+                                           XpmImage *xpmimage,
+                                           XpmAttributes *attributes));
+ #endif
+     FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return,
+                                         XpmImage *image,
+                                         XpmInfo *info));
+ 
+     FUNC(XpmCreateXpmImageFromData, int, (char **data,
+                                         XpmImage *image,
+                                         XpmInfo *info));
+ 
+     FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer,
+                                           XpmImage *image,
+                                           XpmInfo *info));
+ 
+     FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return,
+                                           XpmImage *image,
+                                           XpmInfo *info));
+ 
+     FUNC(XpmGetParseError, int, (char *filename,
+                                int *linenum_return,
+                                int *charnum_return));
+ 
+     FUNC(XpmFree, void, (void *ptr));
+ 
+ #ifdef __cplusplus
+ } /* for C++ V2.0 */
+ #endif
+ 
+ 
+ /* backward compatibility */
+ 
+ /* for version 3.0c */
+ #define XpmPixmapColorError  XpmColorError
+ #define XpmPixmapSuccess     XpmSuccess
+ #define XpmPixmapOpenFailed  XpmOpenFailed
+ #define XpmPixmapFileInvalid XpmFileInvalid
+ #define XpmPixmapNoMemory    XpmNoMemory
+ #define XpmPixmapColorFailed XpmColorFailed
+ 
+ #define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
+     XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
+ #define XpmWritePixmapFile(dpy, file, pix, mask, att) \
+     XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
+ 
+ /* for version 3.0b */
+ #define PixmapColorError  XpmColorError
+ #define PixmapSuccess     XpmSuccess
+ #define PixmapOpenFailed  XpmOpenFailed
+ #define PixmapFileInvalid XpmFileInvalid
+ #define PixmapNoMemory    XpmNoMemory
+ #define PixmapColorFailed XpmColorFailed
+ 
+ #define ColorSymbol XpmColorSymbol
+ 
+ #define XReadPixmapFile(dpy, d, file, pix, mask, att) \
+     XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
+ #define XWritePixmapFile(dpy, file, pix, mask, att) \
+     XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
+ #define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
+     XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
+ #define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
+     XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
+ 
+ #endif /* XPM_NUMBERS */
+ #endif
*** ../vim-7.3.638/src/Make_mvc.mak     2012-08-02 21:48:20.000000000 +0200
--- src/Make_mvc.mak    2012-08-29 13:46:05.000000000 +0200
***************
*** 89,94 ****
--- 89,96 ----
  #       Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
  #
  #       XPM Image Support: XPM=[path to XPM directory]
+ #       Default is "xpm", using the files included in the distribution.
+ #       Use "no" to disable this feature.
  #
  #       Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
  #
***************
*** 279,295 ****
  NETBEANS_LIB  = WSock32.lib
  !endif
  
! !ifdef XPM
  # XPM - Include support for XPM signs
! # You need to download or build  xpm.lib somehow.
! # You can get the most recent version of libXpm-*.zip from
! #   http://cgit.freedesktop.org/xorg/lib/libXpm
! # from which you must build xpm.lib yourself
! #   OR get and unpack: ftp://ftp.vim.org/pub/vim/pcextra/xpm.zip
  XPM_OBJ   = $(OBJDIR)/xpm_w32.obj
  XPM_DEFS  = -DFEAT_XPM_W32
  XPM_LIB   = $(XPM)\lib\libXpm.lib
! XPM_INC         = -I $(XPM)\include
  !endif
  !endif
  
--- 281,301 ----
  NETBEANS_LIB  = WSock32.lib
  !endif
  
! !ifndef XPM
! # XPM is not set, use the included xpm files, depending on the architecture.
! !if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64")
! XPM = xpm\x64
! !else
! XPM = xpm\x86
! !endif
! !endif
! !if "$(XPM)" != "no"
  # XPM - Include support for XPM signs
! # See the xpm directory for more information.
  XPM_OBJ   = $(OBJDIR)/xpm_w32.obj
  XPM_DEFS  = -DFEAT_XPM_W32
  XPM_LIB   = $(XPM)\lib\libXpm.lib
! XPM_INC         = -I $(XPM)\include -I $(XPM)\..\include
  !endif
  !endif
  
*** ../vim-7.3.638/src/bigvim.bat       2010-08-15 21:57:29.000000000 +0200
--- src/bigvim.bat      2012-08-29 13:46:18.000000000 +0200
***************
*** 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:\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
  
--- 1,5 ----
  :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
! SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
! SET TOOLDIR=E:\
! %VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes 
PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 
PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 
RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 
TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes 
CSCOPE=yes
  
*** ../vim-7.3.638/src/bigvim64.bat     2012-08-29 14:16:38.000000000 +0200
--- src/bigvim64.bat    2012-08-29 13:46:35.000000000 +0200
***************
*** 0 ****
--- 1,6 ----
+ :: command to build big Vim 64 bit with OLE, Perl, Python, Ruby and Tcl
+ :: First run: %VCDIR%\vcvarsall.bat x86_amd64
+ SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\"
+ SET TOOLDIR=E:\
+ %VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PERL=E:\perl514 
DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes 
PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 
RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 
TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes 
CSCOPE=yes
+ 
*** ../vim-7.3.638/Filelist     2012-07-16 17:27:57.000000000 +0200
--- Filelist    2012-08-29 13:53:52.000000000 +0200
***************
*** 349,354 ****
--- 349,360 ----
                src/vim*.ico \
                src/vim.tlb \
                src/vimtbar.lib \
+               src/xpm/COPYRIGHT \
+               src/xpm/README.txt \
+               src/xpm/include/*.h \
+               src/xpm/x64/lib/libXpm.lib \
+               src/xpm/x86/lib/libXpm.a \
+               src/xpm/x86/lib/libXpm.lib \
                src/vimtbar.dll \
                nsis/icons/*.bmp \
                nsis/icons/*.ico \
*** ../vim-7.3.638/src/version.c        2012-08-29 14:17:51.000000000 +0200
--- src/version.c       2012-08-29 14:14:19.000000000 +0200
***************
*** 721,722 ****
--- 721,724 ----
  {   /* Add new patch number below this line */
+ /**/
+     639,
  /**/

-- 
A successful man is one who makes more money than his wife can spend.
A successful woman is one who can find such a man.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui