To: vim_dev@googlegroups.com
Subject: Patch 7.3.639
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.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: lehors@sophia.inria.fr
+ 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 sergey.khorev@gmail.com.
*** ../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 (hedu@cul-ipn.uni-kiel.de) *
+ \*****************************************************************************/
+
+
+ #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 (hedu@cul-ipn.uni-kiel.de) 4/94
+ */
+
+ /*
+ * The code related to AMIGA has been added by
+ * Lorens Younes (d93-hyo@nada.kth.se) 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 -- Bram@Moolenaar.net -- 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 ///