Mercurial > vim
comparison src/if_mzsch.h @ 4074:16e8a09e8ab0 v7.3.791
updated for version 7.3.791
Problem: MzScheme interface doesn't work propely.
Solution: Make it work better. (Sergey Khorev)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 30 Jan 2013 14:55:42 +0100 |
parents | ea4bf6df1a8a |
children | 068f397d0da4 |
comparison
equal
deleted
inserted
replaced
4073:e362db8b2d7b | 4074:16e8a09e8ab0 |
---|---|
5 #ifndef _IF_MZSCH_H_ | 5 #ifndef _IF_MZSCH_H_ |
6 #define _IF_MZSCH_H_ | 6 #define _IF_MZSCH_H_ |
7 #ifdef __MINGW32__ | 7 #ifdef __MINGW32__ |
8 /* Hack to engage Cygwin-specific settings */ | 8 /* Hack to engage Cygwin-specific settings */ |
9 # define __CYGWIN32__ | 9 # define __CYGWIN32__ |
10 # include <stdint.h> | |
10 #endif | 11 #endif |
11 | 12 |
12 /* #ifdef needed for "make depend" */ | 13 /* #ifdef needed for "make depend" */ |
13 #ifdef FEAT_MZSCHEME | 14 #ifdef FEAT_MZSCHEME |
14 # include <schvers.h> | 15 # include <schvers.h> |
18 #ifdef __MINGW32__ | 19 #ifdef __MINGW32__ |
19 # undef __CYGWIN32__ | 20 # undef __CYGWIN32__ |
20 #endif | 21 #endif |
21 | 22 |
22 #if MZSCHEME_VERSION_MAJOR >= 299 | 23 #if MZSCHEME_VERSION_MAJOR >= 299 |
23 /* macros to be compatible with 20x versions */ | 24 # define SCHEME_STRINGP(obj) (SCHEME_BYTE_STRINGP(obj) || SCHEME_CHAR_STRINGP(obj)) |
24 # define scheme_config scheme_current_config() | 25 # define BYTE_STRING_VALUE(obj) ((char_u *)SCHEME_BYTE_STR_VAL(obj)) |
25 # define scheme_make_string scheme_make_byte_string | 26 #else |
26 # define scheme_make_string_output_port scheme_make_byte_string_output_port | 27 /* macros for compatibility with older versions */ |
27 # define scheme_get_sized_string_output scheme_get_sized_byte_string_output | 28 # define scheme_current_config() scheme_config |
28 # define scheme_write_string scheme_write_byte_string | 29 # define scheme_make_sized_byte_string scheme_make_sized_string |
29 # define scheme_make_sized_string scheme_make_sized_byte_string | 30 # define scheme_format_utf8 scheme_format |
31 # ifndef DYNAMIC_MZSCHEME | |
32 /* for dynamic MzScheme there will be separate definitions in if_mzsch.c */ | |
33 # define scheme_get_sized_byte_string_output scheme_get_sized_string_output | |
34 # define scheme_make_byte_string scheme_make_string | |
35 # define scheme_make_byte_string_output_port scheme_make_string_output_port | |
36 # endif | |
30 | 37 |
31 # define SCHEME_STRINGP(obj) (SCHEME_BYTE_STRINGP(obj) || SCHEME_CHAR_STRINGP(obj)) | |
32 # define SCHEME_STR_VAL(obj) SCHEME_BYTE_STR_VAL( \ | |
33 (SCHEME_BYTE_STRINGP(obj) ? obj : scheme_char_string_to_byte_string(obj))) | |
34 # define GUARANTEE_STRING(fname, argnum) GUARANTEE_TYPE(fname, argnum, SCHEME_STRINGP, "string") | |
35 | |
36 # ifdef scheme_format | |
37 # undef scheme_format | |
38 # endif | |
39 # define scheme_format scheme_format_utf8 | |
40 | |
41 # define SCHEME_GET_BYTE_STRING(obj) (SCHEME_BYTE_STRINGP(obj) ? obj : \ | |
42 scheme_char_string_to_byte_string(obj)) | |
43 #else | |
44 # define SCHEME_GET_BYTE_STRING(obj) (obj) | |
45 # define SCHEME_BYTE_STRLEN_VAL SCHEME_STRLEN_VAL | 38 # define SCHEME_BYTE_STRLEN_VAL SCHEME_STRLEN_VAL |
46 # define SCHEME_BYTE_STR_VAL SCHEME_STR_VAL | 39 # define BYTE_STRING_VALUE(obj) ((char_u *)SCHEME_STR_VAL(obj)) |
47 # define scheme_byte_string_to_char_string(obj) (obj) | 40 # define scheme_byte_string_to_char_string(obj) (obj) |
41 # define SCHEME_BYTE_STRINGP SCHEME_STRINGP | |
48 #endif | 42 #endif |
49 | 43 |
50 /* Precise GC macros */ | 44 /* Precise GC macros */ |
51 #ifndef MZ_GC_DECL_REG | 45 #ifndef MZ_GC_DECL_REG |
52 # define MZ_GC_DECL_REG(size) /* empty */ | 46 # define MZ_GC_DECL_REG(size) /* empty */ |