To: vim_dev@googlegroups.com
Subject: Patch 7.4.188
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.4.188
Problem: SIZEOF_LONG clashes with similar defines in header files.
Solution: Rename to a name starting with VIM_. Also for SIZEOF_INT.
Files: src/if_ruby.c, src/vim.h, src/configure.in, src/auto/configure,
src/config.h.in, src/fileio.c, src/if_python.c, src/message.c,
src/spell.c, src/feature.h, src/os_os2_cfg.h, src/os_vms_conf.h,
src/os_win16.h, src/structs.h
*** ../vim-7.4.187/src/if_ruby.c 2014-02-05 22:41:11.430582669 +0100
--- src/if_ruby.c 2014-02-23 21:55:03.516770208 +0100
***************
*** 89,97 ****
#endif
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
! && SIZEOF_INT < SIZEOF_LONG
/* Ruby 2.0 defines a number of static functions which use rb_fix2int and
! * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */
# define rb_fix2int rb_fix2int_stub
# define rb_num2int rb_num2int_stub
#endif
--- 89,97 ----
#endif
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
/* Ruby 2.0 defines a number of static functions which use rb_fix2int and
! * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
# define rb_fix2int rb_fix2int_stub
# define rb_num2int rb_num2int_stub
#endif
***************
*** 202,208 ****
# define rb_hash_new dll_rb_hash_new
# define rb_inspect dll_rb_inspect
# define rb_int2inum dll_rb_int2inum
! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
# define rb_fix2int dll_rb_fix2int
# define rb_num2int dll_rb_num2int
# define rb_num2uint dll_rb_num2uint
--- 202,208 ----
# define rb_hash_new dll_rb_hash_new
# define rb_inspect dll_rb_inspect
# define rb_int2inum dll_rb_int2inum
! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
# define rb_fix2int dll_rb_fix2int
# define rb_num2int dll_rb_num2int
# define rb_num2uint dll_rb_num2uint
***************
*** 310,316 ****
static VALUE (*dll_rb_hash_new) (void);
static VALUE (*dll_rb_inspect) (VALUE);
static VALUE (*dll_rb_int2inum) (long);
! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
static long (*dll_rb_fix2int) (VALUE);
static long (*dll_rb_num2int) (VALUE);
static unsigned long (*dll_rb_num2uint) (VALUE);
--- 310,316 ----
static VALUE (*dll_rb_hash_new) (void);
static VALUE (*dll_rb_inspect) (VALUE);
static VALUE (*dll_rb_int2inum) (long);
! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
static long (*dll_rb_fix2int) (VALUE);
static long (*dll_rb_num2int) (VALUE);
static unsigned long (*dll_rb_num2uint) (VALUE);
***************
*** 393,399 ****
return dll_rb_int2big(x);
}
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
! && SIZEOF_INT < SIZEOF_LONG
long rb_fix2int_stub(VALUE x)
{
return dll_rb_fix2int(x);
--- 393,399 ----
return dll_rb_int2big(x);
}
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
long rb_fix2int_stub(VALUE x)
{
return dll_rb_fix2int(x);
***************
*** 466,472 ****
{"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
{"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
{"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
! # if SIZEOF_INT < SIZEOF_LONG /* 64 bits only */
{"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
{"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
{"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
--- 466,472 ----
{"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
{"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
{"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
! # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
{"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
{"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
{"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
*** ../vim-7.4.187/src/vim.h 2014-01-14 16:54:53.000000000 +0100
--- src/vim.h 2014-02-23 21:58:23.764769890 +0100
***************
*** 43,49 ****
* it becomes zero. This is likely a problem of not being able to run the
* test program. Other items from configure may also be wrong then!
*/
! # if (SIZEOF_INT == 0)
Error: configure did not run properly. Check auto/config.log.
# endif
--- 43,49 ----
* it becomes zero. This is likely a problem of not being able to run the
* test program. Other items from configure may also be wrong then!
*/
! # if (VIM_SIZEOF_INT == 0)
Error: configure did not run properly. Check auto/config.log.
# endif
***************
*** 148,169 ****
#endif
/*
! * SIZEOF_INT is used in feature.h, and the system-specific included files
! * need items from feature.h. Therefore define SIZEOF_INT here.
*/
#ifdef WIN3264
! # define SIZEOF_INT 4
#endif
#ifdef MSDOS
# ifdef DJGPP
# ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
! # define SIZEOF_INT 4 /* 32 bit ints */
# endif
# define DOS32
# define FEAT_CLIPBOARD
# else
# ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
! # define SIZEOF_INT 2 /* 16 bit ints */
# endif
# define SMALL_MALLOC /* 16 bit storage allocation */
# define DOS16
--- 148,169 ----
#endif
/*
! * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files
! * need items from feature.h. Therefore define VIM_SIZEOF_INT here.
*/
#ifdef WIN3264
! # define VIM_SIZEOF_INT 4
#endif
#ifdef MSDOS
# ifdef DJGPP
# ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
! # define VIM_SIZEOF_INT 4 /* 32 bit ints */
# endif
# define DOS32
# define FEAT_CLIPBOARD
# else
# ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
! # define VIM_SIZEOF_INT 2 /* 16 bit ints */
# endif
# define SMALL_MALLOC /* 16 bit storage allocation */
# define DOS16
***************
*** 174,191 ****
/* Be conservative about sizeof(int). It could be 4 too. */
# ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
# ifdef __GNUC__
! # define SIZEOF_INT 4
# else
! # define SIZEOF_INT 2
# endif
# endif
#endif
#ifdef MACOS
# if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
|| defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
! # define SIZEOF_INT 4
# else
! # define SIZEOF_INT 2
# endif
#endif
--- 174,191 ----
/* Be conservative about sizeof(int). It could be 4 too. */
# ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
# ifdef __GNUC__
! # define VIM_SIZEOF_INT 4
# else
! # define VIM_SIZEOF_INT 2
# endif
# endif
#endif
#ifdef MACOS
# if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
|| defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
! # define VIM_SIZEOF_INT 4
# else
! # define VIM_SIZEOF_INT 2
# endif
#endif
***************
*** 417,428 ****
#define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
/*
! * Only systems which use configure will have SIZEOF_OFF_T and SIZEOF_LONG
* defined, which is ok since those are the same systems which can have
* varying sizes for off_t. The other systems will continue to use "%ld" to
* print off_t since off_t is simply a typedef to long for them.
*/
! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG)
# define LONG_LONG_OFF_T
#endif
--- 417,428 ----
#define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
/*
! * Only systems which use configure will have SIZEOF_OFF_T and VIM_SIZEOF_LONG
* defined, which is ok since those are the same systems which can have
* varying sizes for off_t. The other systems will continue to use "%ld" to
* print off_t since off_t is simply a typedef to long for them.
*/
! #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > VIM_SIZEOF_LONG)
# define LONG_LONG_OFF_T
#endif
***************
*** 448,454 ****
# ifdef UNICODE16
typedef unsigned short u8char_T; /* short should be 16 bits */
# else
! # if SIZEOF_INT >= 4
typedef unsigned int u8char_T; /* int is 32 bits */
# else
typedef unsigned long u8char_T; /* long should be 32 bits or more */
--- 448,454 ----
# ifdef UNICODE16
typedef unsigned short u8char_T; /* short should be 16 bits */
# else
! # if VIM_SIZEOF_INT >= 4
typedef unsigned int u8char_T; /* int is 32 bits */
# else
typedef unsigned long u8char_T; /* long should be 32 bits or more */
***************
*** 1608,1614 ****
* With this we restrict the maximum line length to 1073741823. I guess this is
* not a real problem. BTW: Longer lines are split.
*/
! #if SIZEOF_INT >= 4
# ifdef __MVS__
# define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */
# else
--- 1608,1614 ----
* With this we restrict the maximum line length to 1073741823. I guess this is
* not a real problem. BTW: Longer lines are split.
*/
! #if VIM_SIZEOF_INT >= 4
# ifdef __MVS__
# define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */
# else
*** ../vim-7.4.187/src/configure.in 2014-02-15 17:18:56.953897128 +0100
--- src/configure.in 2014-02-23 22:37:40.080766138 +0100
***************
*** 3581,3586 ****
--- 3581,3590 ----
AC_CHECK_SIZEOF([time_t])
AC_CHECK_SIZEOF([off_t])
+ dnl Use different names to avoid clashing with other header files.
+ AC_DEFINE_UNQUOTED(VIM_SIZEOF_INT, [$ac_cv_sizeof_int])
+ AC_DEFINE_UNQUOTED(VIM_SIZEOF_LONG, [$ac_cv_sizeof_long])
+
dnl Make sure that uint32_t is really 32 bits unsigned.
AC_MSG_CHECKING([uint32_t is 32 bits])
AC_TRY_RUN([
*** ../vim-7.4.187/src/auto/configure 2013-11-21 12:17:46.000000000 +0100
--- src/auto/configure 2014-02-23 22:37:43.692766132 +0100
***************
*** 5199,5207 ****
--- 5199,5217 ----
$as_echo_n "checking for mzscheme_base.c... " >&6; }
if test -f "${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
MZSCHEME_EXTRA="mzscheme_base.c"
+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
+ MZSCHEME_MOD="++lib scheme/base"
else
if test -f "${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
MZSCHEME_EXTRA="mzscheme_base.c"
+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
+ MZSCHEME_MOD="++lib scheme/base"
+ else
+ if test -f "${SCHEME_COLLECTS}collects/racket/base.rkt" ; then
+ MZSCHEME_EXTRA="mzscheme_base.c"
+ MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/raco ctool"
+ MZSCHEME_MOD=""
+ fi
fi
fi
if test "X$MZSCHEME_EXTRA" != "X" ; then
***************
*** 12323,12328 ****
--- 12333,12347 ----
+ cat >>confdefs.h <<_ACEOF
+ #define VIM_SIZEOF_INT $ac_cv_sizeof_int
+ _ACEOF
+
+ cat >>confdefs.h <<_ACEOF
+ #define VIM_SIZEOF_LONG $ac_cv_sizeof_long
+ _ACEOF
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5
$as_echo_n "checking uint32_t is 32 bits... " >&6; }
if test "$cross_compiling" = yes; then :
*** ../vim-7.4.187/src/config.h.in 2013-11-02 21:04:32.000000000 +0100
--- src/config.h.in 2014-02-23 21:45:36.784771111 +0100
***************
*** 37,46 ****
#undef UNIX
/* Defined to the size of an int */
! #undef SIZEOF_INT
/* Defined to the size of a long */
! #undef SIZEOF_LONG
/* Defined to the size of off_t */
#undef SIZEOF_OFF_T
--- 37,46 ----
#undef UNIX
/* Defined to the size of an int */
! #undef VIM_SIZEOF_INT
/* Defined to the size of a long */
! #undef VIM_SIZEOF_LONG
/* Defined to the size of off_t */
#undef SIZEOF_OFF_T
*** ../vim-7.4.187/src/fileio.c 2014-02-11 15:23:27.938123631 +0100
--- src/fileio.c 2014-02-23 22:31:00.824766773 +0100
***************
*** 1185,1191 ****
* The amount is limited by the fact that read() only can read
* upto max_unsigned characters (and other things).
*/
! #if SIZEOF_INT <= 2
if (linerest >= 0x7ff0)
{
++split;
--- 1185,1191 ----
* The amount is limited by the fact that read() only can read
* upto max_unsigned characters (and other things).
*/
! #if VIM_SIZEOF_INT <= 2
if (linerest >= 0x7ff0)
{
++split;
***************
*** 1197,1203 ****
{
if (!skip_read)
{
! #if SIZEOF_INT > 2
# if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
size = SSIZE_MAX; /* use max I/O size, 52K */
# else
--- 1197,1203 ----
{
if (!skip_read)
{
! #if VIM_SIZEOF_INT > 2
# if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
size = SSIZE_MAX; /* use max I/O size, 52K */
# else
*** ../vim-7.4.187/src/if_python.c 2014-01-14 19:35:49.000000000 +0100
--- src/if_python.c 2014-02-23 21:54:39.212770247 +0100
***************
*** 613,619 ****
# endif
# endif
# if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
! && SIZEOF_SIZE_T != SIZEOF_INT
# ifdef Py_DEBUG
{"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4},
# else
--- 613,619 ----
# endif
# endif
# if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 \
! && SIZEOF_SIZE_T != VIM_SIZEOF_INT
# ifdef Py_DEBUG
{"Py_InitModule4TraceRefs_64", (PYTHON_PROC*)&dll_Py_InitModule4},
# else
*** ../vim-7.4.187/src/message.c 2013-11-04 02:00:55.000000000 +0100
--- src/message.c 2014-02-23 21:55:16.984770187 +0100
***************
*** 4376,4382 ****
{
/* Don't put the #if inside memchr(), it can be a
* macro. */
! #if SIZEOF_INT <= 2
char *q = memchr(str_arg, '\0', precision);
#else
/* memchr on HP does not like n > 2^31 !!! */
--- 4376,4382 ----
{
/* Don't put the #if inside memchr(), it can be a
* macro. */
! #if VIM_SIZEOF_INT <= 2
char *q = memchr(str_arg, '\0', precision);
#else
/* memchr on HP does not like n > 2^31 !!! */
*** ../vim-7.4.187/src/spell.c 2013-11-28 17:41:41.000000000 +0100
--- src/spell.c 2014-02-23 21:55:24.600770175 +0100
***************
*** 317,323 ****
/* Type used for indexes in the word tree need to be at least 4 bytes. If int
* is 8 bytes we could use something smaller, but what? */
! #if SIZEOF_INT > 3
typedef int idx_T;
#else
typedef long idx_T;
--- 317,323 ----
/* Type used for indexes in the word tree need to be at least 4 bytes. If int
* is 8 bytes we could use something smaller, but what? */
! #if VIM_SIZEOF_INT > 3
typedef int idx_T;
#else
typedef long idx_T;
*** ../vim-7.4.187/src/feature.h 2013-05-18 20:18:20.000000000 +0200
--- src/feature.h 2014-02-23 21:55:54.868770127 +0100
***************
*** 328,334 ****
*
* Disabled for EBCDIC as it requires multibyte.
*/
! #if defined(FEAT_BIG) && !defined(WIN16) && SIZEOF_INT >= 4 && !defined(EBCDIC)
# define FEAT_ARABIC
#endif
#ifdef FEAT_ARABIC
--- 328,334 ----
*
* Disabled for EBCDIC as it requires multibyte.
*/
! #if defined(FEAT_BIG) && !defined(WIN16) && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
# define FEAT_ARABIC
#endif
#ifdef FEAT_ARABIC
***************
*** 640,646 ****
*/
#if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
&& !defined(FEAT_MBYTE) && !defined(WIN16) \
! && SIZEOF_INT >= 4 && !defined(EBCDIC)
# define FEAT_MBYTE
#endif
--- 640,646 ----
*/
#if (defined(FEAT_NORMAL) || defined(FEAT_GUI_GTK) || defined(FEAT_ARABIC)) \
&& !defined(FEAT_MBYTE) && !defined(WIN16) \
! && VIM_SIZEOF_INT >= 4 && !defined(EBCDIC)
# define FEAT_MBYTE
#endif
***************
*** 661,667 ****
# define FEAT_MBYTE
#endif
! #if defined(FEAT_MBYTE) && SIZEOF_INT < 4 && !defined(PROTO)
Error: Can only handle multi-byte feature with 32 bit int or larger
#endif
--- 661,667 ----
# define FEAT_MBYTE
#endif
! #if defined(FEAT_MBYTE) && VIM_SIZEOF_INT < 4 && !defined(PROTO)
Error: Can only handle multi-byte feature with 32 bit int or larger
#endif
*** ../vim-7.4.187/src/os_os2_cfg.h 2010-05-15 13:04:11.000000000 +0200
--- src/os_os2_cfg.h 2014-02-23 21:56:03.540770113 +0100
***************
*** 47,53 ****
#undef UNIX /* define always by current configure script */
/* Defined to the size of an int */
! #define SIZEOF_INT 4
/*
* If we cannot trust one of the following from the libraries, we use our
--- 47,53 ----
#undef UNIX /* define always by current configure script */
/* Defined to the size of an int */
! #define VIM_SIZEOF_INT 4
/*
* If we cannot trust one of the following from the libraries, we use our
*** ../vim-7.4.187/src/os_vms_conf.h 2010-07-28 19:07:48.000000000 +0200
--- src/os_vms_conf.h 2014-02-23 21:56:20.700770086 +0100
***************
*** 23,29 ****
#define HAVE_DATE_TIME
/* Defined to the size of an int */
! #define SIZEOF_INT 4
/* #undef USEBCOPY */
#define USEMEMMOVE
--- 23,29 ----
#define HAVE_DATE_TIME
/* Defined to the size of an int */
! #define VIM_SIZEOF_INT 4
/* #undef USEBCOPY */
#define USEMEMMOVE
*** ../vim-7.4.187/src/os_win16.h 2013-05-06 04:06:04.000000000 +0200
--- src/os_win16.h 2014-02-23 21:56:39.292770056 +0100
***************
*** 55,62 ****
#define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
! #ifndef SIZEOF_INT
! # define SIZEOF_INT 2
#endif
typedef long off_t;
--- 55,62 ----
#define FNAME_ILLEGAL "\"*?><|" /* illegal characters in a file name */
! #ifndef VIM_SIZEOF_INT
! # define VIM_SIZEOF_INT 2
#endif
typedef long off_t;
*** ../vim-7.4.187/src/structs.h 2014-02-22 23:03:48.716901208 +0100
--- src/structs.h 2014-02-23 21:57:17.680769995 +0100
***************
*** 364,370 ****
/*
* structures used in undo.c
*/
! #if SIZEOF_INT > 2
# define ALIGN_LONG /* longword alignment and use filler byte */
# define ALIGN_SIZE (sizeof(long))
#else
--- 364,370 ----
/*
* structures used in undo.c
*/
! #if VIM_SIZEOF_INT > 2
# define ALIGN_LONG /* longword alignment and use filler byte */
# define ALIGN_SIZE (sizeof(long))
#else
***************
*** 1094,1100 ****
typedef long_u hash_T; /* Type for hi_hash */
! #if SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */
typedef long varnumber_T;
#else
typedef int varnumber_T;
--- 1094,1100 ----
typedef long_u hash_T; /* Type for hi_hash */
! #if VIM_SIZEOF_INT <= 3 /* use long if int is smaller than 32 bits */
typedef long varnumber_T;
#else
typedef int varnumber_T;
*** ../vim-7.4.187/src/version.c 2014-02-22 23:49:30.268896843 +0100
--- src/version.c 2014-02-23 22:40:55.708765826 +0100
***************
*** 740,741 ****
--- 740,743 ----
{ /* Add new patch number below this line */
+ /**/
+ 188,
/**/
--
I'm sure that I asked CBuilder to do a "full" install. Looks like I got
a "fool" install, instead. Charles E Campbell, Jr, PhD
/// 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 ///