| slang.h | | slang.h | |
| | | | |
| skipping to change at line 25 | | skipping to change at line 25 | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| General Public License for more details. | | General Public License for more details. | |
| | | | |
| You should have received a copy of the GNU General Public License | | You should have received a copy of the GNU General Public License | |
| along with this library; if not, write to the Free Software | | along with this library; if not, write to the Free Software | |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | |
| USA. | | USA. | |
| */ | | */ | |
| | | | |
|
| #define SLANG_VERSION 20006 | | #define SLANG_VERSION 20007 | |
| #define SLANG_VERSION_STRING "2.0.6" | | #define SLANG_VERSION_STRING "2.0.7" | |
| /* #ifdef __DATE__ */ | | /* #ifdef __DATE__ */ | |
| /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 " " __DATE__ */ | | /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 " " __DATE__ */ | |
| /* #else */ | | /* #else */ | |
| /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 */ | | /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 */ | |
| /* #endif */ | | /* #endif */ | |
| /*{{{ System Dependent Macros and Typedefs */ | | /*{{{ System Dependent Macros and Typedefs */ | |
| | | | |
| #if defined(__WATCOMC__) && defined(DOS) | | #if defined(__WATCOMC__) && defined(DOS) | |
| # ifndef __MSDOS__ | | # ifndef __MSDOS__ | |
| # define __MSDOS__ | | # define __MSDOS__ | |
| | | | |
| skipping to change at line 281 | | skipping to change at line 281 | |
| SL_EXTERN int SLang_pop_slstring (SLstr_Type **); /* free with SLang_free
_slstring */ | | SL_EXTERN int SLang_pop_slstring (SLstr_Type **); /* free with SLang_free
_slstring */ | |
| SL_EXTERN SLstr_Type *SLang_concat_slstrings (SLstr_Type *a, SLstr_Type *b)
; | | SL_EXTERN SLstr_Type *SLang_concat_slstrings (SLstr_Type *a, SLstr_Type *b)
; | |
| | | | |
| SL_EXTERN void SLstring_dump_stats (void); | | SL_EXTERN void SLstring_dump_stats (void); | |
| | | | |
| /*{{{ UTF-8 and Wide Char support */ | | /*{{{ UTF-8 and Wide Char support */ | |
| | | | |
| #if SLANG_SIZEOF_INT == 4 | | #if SLANG_SIZEOF_INT == 4 | |
| typedef unsigned int SLwchar_Type; | | typedef unsigned int SLwchar_Type; | |
| # define SLANG_WCHAR_TYPE SLANG_UINT_TYPE | | # define SLANG_WCHAR_TYPE SLANG_UINT_TYPE | |
|
| | | # define SLang_push_wchar SLang_push_uint | |
| | | # define SLang_pop_wchar SLang_pop_uint | |
| #else | | #else | |
| typedef unsigned long SLwchar_Type; | | typedef unsigned long SLwchar_Type; | |
| # define SLANG_WCHAR_TYPE SLANG_ULONG_TYPE | | # define SLANG_WCHAR_TYPE SLANG_ULONG_TYPE | |
|
| | | # define SLang_push_wchar SLang_push_ulong | |
| | | # define SLang_pop_wchar SLang_pop_ulong | |
| #endif | | #endif | |
| typedef unsigned char SLuchar_Type; | | typedef unsigned char SLuchar_Type; | |
| | | | |
| /* Maximum multi-byte len for a unicode wchar */ | | /* Maximum multi-byte len for a unicode wchar */ | |
| #define SLUTF8_MAX_MBLEN 6 | | #define SLUTF8_MAX_MBLEN 6 | |
| | | | |
| /* If argument is 1, force UTF-8 mode on. If argument is 0, force mode off
. | | /* If argument is 1, force UTF-8 mode on. If argument is 0, force mode off
. | |
| * If -1, determine mode from the locale. | | * If -1, determine mode from the locale. | |
| * Returns 1 if enabled, 0 if not. | | * Returns 1 if enabled, 0 if not. | |
| */ | | */ | |
| | | | |
| skipping to change at line 320 | | skipping to change at line 324 | |
| SL_EXTERN int SLwchar_iscntrl (SLwchar_Type); | | SL_EXTERN int SLwchar_iscntrl (SLwchar_Type); | |
| SL_EXTERN int SLwchar_isdigit (SLwchar_Type); | | SL_EXTERN int SLwchar_isdigit (SLwchar_Type); | |
| SL_EXTERN int SLwchar_isgraph (SLwchar_Type); | | SL_EXTERN int SLwchar_isgraph (SLwchar_Type); | |
| SL_EXTERN int SLwchar_islower (SLwchar_Type); | | SL_EXTERN int SLwchar_islower (SLwchar_Type); | |
| SL_EXTERN int SLwchar_isprint (SLwchar_Type); | | SL_EXTERN int SLwchar_isprint (SLwchar_Type); | |
| SL_EXTERN int SLwchar_ispunct (SLwchar_Type); | | SL_EXTERN int SLwchar_ispunct (SLwchar_Type); | |
| SL_EXTERN int SLwchar_isspace (SLwchar_Type); | | SL_EXTERN int SLwchar_isspace (SLwchar_Type); | |
| SL_EXTERN int SLwchar_isupper (SLwchar_Type); | | SL_EXTERN int SLwchar_isupper (SLwchar_Type); | |
| SL_EXTERN int SLwchar_isxdigit (SLwchar_Type); | | SL_EXTERN int SLwchar_isxdigit (SLwchar_Type); | |
| | | | |
|
| | | #define SLWCWIDTH_SINGLE_WIDTH 0x0001 | |
| | | SL_EXTERN int SLwchar_set_wcwidth_flags (int flags); | |
| | | | |
| SL_EXTERN SLuchar_Type *SLutf8_skip_char (SLuchar_Type *u, SLuchar_Type *um
ax); | | SL_EXTERN SLuchar_Type *SLutf8_skip_char (SLuchar_Type *u, SLuchar_Type *um
ax); | |
| SL_EXTERN SLuchar_Type *SLutf8_bskip_char (SLuchar_Type *umin, SLuchar_Type
*u); | | SL_EXTERN SLuchar_Type *SLutf8_bskip_char (SLuchar_Type *umin, SLuchar_Type
*u); | |
| | | | |
| /* The SLutf8_strup/lo functions return slstrings -- free with SLang_free_s
lstring */ | | /* The SLutf8_strup/lo functions return slstrings -- free with SLang_free_s
lstring */ | |
| SL_EXTERN SLuchar_Type *SLutf8_strup (SLuchar_Type *u, SLuchar_Type *umax); | | SL_EXTERN SLuchar_Type *SLutf8_strup (SLuchar_Type *u, SLuchar_Type *umax); | |
| SL_EXTERN SLuchar_Type *SLutf8_strlo (SLuchar_Type *u, SLuchar_Type *umax); | | SL_EXTERN SLuchar_Type *SLutf8_strlo (SLuchar_Type *u, SLuchar_Type *umax); | |
| | | | |
| SL_EXTERN SLuchar_Type *SLutf8_skip_chars (SLuchar_Type *u, SLuchar_Type *u
max, | | SL_EXTERN SLuchar_Type *SLutf8_skip_chars (SLuchar_Type *u, SLuchar_Type *u
max, | |
| unsigned int num, unsigned int *dnum
, | | unsigned int num, unsigned int *dnum
, | |
| int ignore_combining ); | | int ignore_combining ); | |
| | | | |
| skipping to change at line 549 | | skipping to change at line 556 | |
| } | | } | |
| SLang_CStruct_Field_Type; | | SLang_CStruct_Field_Type; | |
| | | | |
| SL_EXTERN int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *, char *); | | SL_EXTERN int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *, char *); | |
| SL_EXTERN int SLadd_intrin_var_table (SLang_Intrin_Var_Type *, char *); | | SL_EXTERN int SLadd_intrin_var_table (SLang_Intrin_Var_Type *, char *); | |
| SL_EXTERN int SLadd_app_unary_table (SLang_App_Unary_Type *, char *); | | SL_EXTERN int SLadd_app_unary_table (SLang_App_Unary_Type *, char *); | |
| SL_EXTERN int SLadd_math_unary_table (SLang_Math_Unary_Type *, char *); | | SL_EXTERN int SLadd_math_unary_table (SLang_Math_Unary_Type *, char *); | |
| SL_EXTERN int SLadd_iconstant_table (SLang_IConstant_Type *, char *); | | SL_EXTERN int SLadd_iconstant_table (SLang_IConstant_Type *, char *); | |
| SL_EXTERN int SLadd_dconstant_table (SLang_DConstant_Type *, char *); | | SL_EXTERN int SLadd_dconstant_table (SLang_DConstant_Type *, char *); | |
| SL_EXTERN int SLadd_fconstant_table (SLang_FConstant_Type *, char *); | | SL_EXTERN int SLadd_fconstant_table (SLang_FConstant_Type *, char *); | |
|
| #if HAVE_LONG_LONG | | #ifdef HAVE_LONG_LONG | |
| SL_EXTERN int SLadd_llconstant_table (SLang_LLConstant_Type *, char *); | | SL_EXTERN int SLadd_llconstant_table (SLang_LLConstant_Type *, char *); | |
| #endif | | #endif | |
| SL_EXTERN int SLadd_istruct_table (SLang_IStruct_Field_Type *, VOID_STAR, c
har *); | | SL_EXTERN int SLadd_istruct_table (SLang_IStruct_Field_Type *, VOID_STAR, c
har *); | |
| | | | |
| typedef struct _pSLang_NameSpace_Type SLang_NameSpace_Type; | | typedef struct _pSLang_NameSpace_Type SLang_NameSpace_Type; | |
| | | | |
| SL_EXTERN int SLns_add_intrin_fun_table (SLang_NameSpace_Type *, SLang_Intr
in_Fun_Type *, char *); | | SL_EXTERN int SLns_add_intrin_fun_table (SLang_NameSpace_Type *, SLang_Intr
in_Fun_Type *, char *); | |
| SL_EXTERN int SLns_add_intrin_var_table (SLang_NameSpace_Type *, SLang_Intr
in_Var_Type *, char *); | | SL_EXTERN int SLns_add_intrin_var_table (SLang_NameSpace_Type *, SLang_Intr
in_Var_Type *, char *); | |
| SL_EXTERN int SLns_add_app_unary_table (SLang_NameSpace_Type *, SLang_App_U
nary_Type *, char *); | | SL_EXTERN int SLns_add_app_unary_table (SLang_NameSpace_Type *, SLang_App_U
nary_Type *, char *); | |
| SL_EXTERN int SLns_add_math_unary_table (SLang_NameSpace_Type *, SLang_Math
_Unary_Type *, char *); | | SL_EXTERN int SLns_add_math_unary_table (SLang_NameSpace_Type *, SLang_Math
_Unary_Type *, char *); | |
| | | | |
| skipping to change at line 890 | | skipping to change at line 897 | |
| | | | |
| SL_EXTERN int SLarray_map_array_1 (SLCONST SLarray_Map_Type *, | | SL_EXTERN int SLarray_map_array_1 (SLCONST SLarray_Map_Type *, | |
| int *use_this_dim, | | int *use_this_dim, | |
| VOID_STAR clientdata); | | VOID_STAR clientdata); | |
| SL_EXTERN int SLarray_map_array (SLCONST SLarray_Map_Type *); | | SL_EXTERN int SLarray_map_array (SLCONST SLarray_Map_Type *); | |
| | | | |
| /*}}}*/ | | /*}}}*/ | |
| | | | |
| /*{{{ Interpreter Function Prototypes */ | | /*{{{ Interpreter Function Prototypes */ | |
| | | | |
|
| | | /* SL_EXTERN int SLerr_throw (int err, char *msg, SLtype obj_type, VOID_STA
R objptr); */ | |
| SL_EXTERN void SLang_verror (int, char *, ...) SLATTRIBUTE_PRINTF(2,3); | | SL_EXTERN void SLang_verror (int, char *, ...) SLATTRIBUTE_PRINTF(2,3); | |
| SL_EXTERN int SLang_get_error (void); | | SL_EXTERN int SLang_get_error (void); | |
| SL_EXTERN int SLang_set_error (int); | | SL_EXTERN int SLang_set_error (int); | |
| SL_EXTERN char *SLerr_strerror (int errcode); | | SL_EXTERN char *SLerr_strerror (int errcode); | |
| SL_EXTERN int SLerr_new_exception (int baseclass, char *name, char *descrip
t); | | SL_EXTERN int SLerr_new_exception (int baseclass, char *name, char *descrip
t); | |
| SL_EXTERN int SLerr_exception_eqs (int, int); | | SL_EXTERN int SLerr_exception_eqs (int, int); | |
| | | | |
| SL_EXTERN int SL_Any_Error; | | SL_EXTERN int SL_Any_Error; | |
| SL_EXTERN int SL_OS_Error; | | SL_EXTERN int SL_OS_Error; | |
| SL_EXTERN int SL_Malloc_Error; | | SL_EXTERN int SL_Malloc_Error; | |
| | | | |
| skipping to change at line 1277 | | skipping to change at line 1285 | |
| SL_EXTERN char *SLcalloc (unsigned int, unsigned int); | | SL_EXTERN char *SLcalloc (unsigned int, unsigned int); | |
| SL_EXTERN void SLfree(char *); /* This function handles NULL */ | | SL_EXTERN void SLfree(char *); /* This function handles NULL */ | |
| SL_EXTERN char *SLrealloc (char *, unsigned int); | | SL_EXTERN char *SLrealloc (char *, unsigned int); | |
| | | | |
| SL_EXTERN char *SLcurrent_time_string (void); | | SL_EXTERN char *SLcurrent_time_string (void); | |
| | | | |
| SL_EXTERN int SLatoi(unsigned char *); | | SL_EXTERN int SLatoi(unsigned char *); | |
| SL_EXTERN long SLatol (unsigned char *); | | SL_EXTERN long SLatol (unsigned char *); | |
| SL_EXTERN unsigned long SLatoul (unsigned char *); | | SL_EXTERN unsigned long SLatoul (unsigned char *); | |
| | | | |
|
| #if HAVE_LONG_LONG | | #ifdef HAVE_LONG_LONG | |
| SL_EXTERN long long SLatoll (unsigned char *s); | | SL_EXTERN long long SLatoll (unsigned char *s); | |
| SL_EXTERN unsigned long long SLatoull (unsigned char *s); | | SL_EXTERN unsigned long long SLatoull (unsigned char *s); | |
| #endif | | #endif | |
| SL_EXTERN int SLang_pop_fileptr (SLang_MMT_Type **, FILE **); | | SL_EXTERN int SLang_pop_fileptr (SLang_MMT_Type **, FILE **); | |
| SL_EXTERN char *SLang_get_name_from_fileptr (SLang_MMT_Type *); | | SL_EXTERN char *SLang_get_name_from_fileptr (SLang_MMT_Type *); | |
| | | | |
| SL_EXTERN int SLang_get_fileptr (SLang_MMT_Type *, FILE **); | | SL_EXTERN int SLang_get_fileptr (SLang_MMT_Type *, FILE **); | |
| /* This function may be used to obtain the FILE* object associated with an
MMT. | | /* This function may be used to obtain the FILE* object associated with an
MMT. | |
| * It returns 0 if no-errors were encountered, and -1 otherwise. | | * It returns 0 if no-errors were encountered, and -1 otherwise. | |
| * If FILE* object has been closed, this function will return 0 and set the
FILE* | | * If FILE* object has been closed, this function will return 0 and set the
FILE* | |
| | | | |
| skipping to change at line 1300 | | skipping to change at line 1308 | |
| | | | |
| typedef struct _pSLFile_FD_Type SLFile_FD_Type; | | typedef struct _pSLFile_FD_Type SLFile_FD_Type; | |
| SL_EXTERN SLFile_FD_Type *SLfile_create_fd (char *, int); | | SL_EXTERN SLFile_FD_Type *SLfile_create_fd (char *, int); | |
| SL_EXTERN void SLfile_free_fd (SLFile_FD_Type *); | | SL_EXTERN void SLfile_free_fd (SLFile_FD_Type *); | |
| SL_EXTERN int SLfile_push_fd (SLFile_FD_Type *); | | SL_EXTERN int SLfile_push_fd (SLFile_FD_Type *); | |
| SL_EXTERN int SLfile_pop_fd (SLFile_FD_Type **); | | SL_EXTERN int SLfile_pop_fd (SLFile_FD_Type **); | |
| SL_EXTERN int SLfile_get_fd (SLFile_FD_Type *, int *); | | SL_EXTERN int SLfile_get_fd (SLFile_FD_Type *, int *); | |
| SL_EXTERN SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0); | | SL_EXTERN SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0); | |
| SL_EXTERN int SLang_init_posix_io (void); | | SL_EXTERN int SLang_init_posix_io (void); | |
| | | | |
|
| | | /* These routines allow an application to attach an object to a file-descri | |
| | | ptor | |
| | | * as well a provide read/write/close/etc methods. To allow the coexistenc | |
| | | e of | |
| | | * different types of objects, a clientdata-id must be used. | |
| | | */ | |
| | | SL_EXTERN int SLfile_set_getfd_method (SLFile_FD_Type *f, int (*func)(VOID_ | |
| | | STAR, int *)); | |
| | | SL_EXTERN int SLfile_set_close_method (SLFile_FD_Type *f, int (*func)(VOID_ | |
| | | STAR)); | |
| | | SL_EXTERN int SLfile_set_read_method (SLFile_FD_Type *f, int (*func)(VOID_S | |
| | | TAR, char*, unsigned int)); | |
| | | SL_EXTERN int SLfile_set_write_method (SLFile_FD_Type *f, int (*func)(VOID_ | |
| | | STAR, char*, unsigned int)); | |
| | | SL_EXTERN int SLfile_set_dup_method (SLFile_FD_Type *f, SLFile_FD_Type *(*f | |
| | | unc)(VOID_STAR)); | |
| | | SL_EXTERN int SLfile_create_clientdata_id (int *id); | |
| | | SL_EXTERN int SLfile_set_clientdata (SLFile_FD_Type *f, void (*free_func)(V | |
| | | OID_STAR), VOID_STAR cd, int id); | |
| | | SL_EXTERN int SLfile_get_clientdata (SLFile_FD_Type *f, int id, VOID_STAR * | |
| | | cdp); | |
| | | | |
| typedef double (*SLang_To_Double_Fun_Type)(VOID_STAR); | | typedef double (*SLang_To_Double_Fun_Type)(VOID_STAR); | |
| SL_EXTERN SLang_To_Double_Fun_Type SLarith_get_to_double_fun (SLtype, unsig
ned int *); | | SL_EXTERN SLang_To_Double_Fun_Type SLarith_get_to_double_fun (SLtype, unsig
ned int *); | |
| | | | |
| SL_EXTERN int SLang_set_argc_argv (int, char **); | | SL_EXTERN int SLang_set_argc_argv (int, char **); | |
| | | | |
| /*}}}*/ | | /*}}}*/ | |
| | | | |
| /*{{{ SLang getkey interface Functions */ | | /*{{{ SLang getkey interface Functions */ | |
| | | | |
| #ifdef REAL_UNIX_SYSTEM | | #ifdef REAL_UNIX_SYSTEM | |
| | | | |
| skipping to change at line 1455 | | skipping to change at line 1476 | |
| SL_EXTERN char *SLang_make_keystring(unsigned char *); | | SL_EXTERN char *SLang_make_keystring(unsigned char *); | |
| | | | |
| SL_EXTERN SLang_Key_Type *SLang_do_key(SLkeymap_Type *, int (*)(void)); | | SL_EXTERN SLang_Key_Type *SLang_do_key(SLkeymap_Type *, int (*)(void)); | |
| /* read a key using keymap p1 with getkey function p2 */ | | /* read a key using keymap p1 with getkey function p2 */ | |
| | | | |
| SL_EXTERN FVOID_STAR SLang_find_key_function(char *, SLkeymap_Type *); | | SL_EXTERN FVOID_STAR SLang_find_key_function(char *, SLkeymap_Type *); | |
| | | | |
| SL_EXTERN SLkeymap_Type *SLang_find_keymap(char *); | | SL_EXTERN SLkeymap_Type *SLang_find_keymap(char *); | |
| | | | |
| SL_EXTERN int SLang_Last_Key_Char; | | SL_EXTERN int SLang_Last_Key_Char; | |
|
| | | /* Despite the name of this variable, its value is the last BYTE of a key-s | |
| | | equence */ | |
| | | | |
| SL_EXTERN int SLang_Key_TimeOut_Flag; | | SL_EXTERN int SLang_Key_TimeOut_Flag; | |
| | | | |
| /*}}}*/ | | /*}}}*/ | |
| | | | |
| /*{{{ SLang Readline Interface */ | | /*{{{ SLang Readline Interface */ | |
| | | | |
| typedef struct _pSLrline_Type SLrline_Type; | | typedef struct _pSLrline_Type SLrline_Type; | |
| SL_EXTERN SLrline_Type *SLrline_open (unsigned int width, unsigned int flag
s); | | SL_EXTERN SLrline_Type *SLrline_open (unsigned int width, unsigned int flag
s); | |
| #define SL_RLINE_NO_ECHO 1 | | #define SL_RLINE_NO_ECHO 1 | |
| #define SL_RLINE_USE_ANSI 2 | | #define SL_RLINE_USE_ANSI 2 | |
| | | | |
End of changes. 9 change blocks. |
| 4 lines changed or deleted | | 37 lines changed or added | |
|