slang.h | slang.h | |||
---|---|---|---|---|
#ifndef DAVIS_SLANG_H_ | #ifndef DAVIS_SLANG_H_ | |||
#define DAVIS_SLANG_H_ | #define DAVIS_SLANG_H_ | |||
/* -*- mode: C; mode: fold; -*- */ | /* -*- mode: C; mode: fold; -*- */ | |||
/* | /* | |||
Copyright (C) 2004, 2005, 2006 John E. Davis | Copyright (C) 2004-2007 John E. Davis | |||
This file is part of the S-Lang Library. | This file is part of the S-Lang Library. | |||
The S-Lang Library is free software; you can redistribute it and/or | The S-Lang Library is free software; you can redistribute it and/or | |||
modify it under the terms of the GNU General Public License as | modify it under the terms of the GNU General Public License as | |||
published by the Free Software Foundation; either version 2 of the | published by the Free Software Foundation; either version 2 of the | |||
License, or (at your option) any later version. | License, or (at your option) any later version. | |||
The S-Lang Library is distributed in the hope that it will be useful, | The S-Lang Library is distributed in the hope that it will be useful, | |||
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 20007 | #define SLANG_VERSION 20100 | |||
#define SLANG_VERSION_STRING "2.0.7" | #define SLANG_VERSION_STRING "2.1.0-0" | |||
/* #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 327 | skipping to change at line 327 | |||
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 | #define SLWCWIDTH_SINGLE_WIDTH 0x0001 | |||
SL_EXTERN int SLwchar_set_wcwidth_flags (int flags); | SL_EXTERN int SLwchar_set_wcwidth_flags (int flags); | |||
/* The skip_char functions also skip over malformed strings counting each b | ||||
yte | ||||
* in the malformed sequence. | ||||
*/ | ||||
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 */ | ||||
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_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 ); | |||
SL_EXTERN SLuchar_Type *SLutf8_bskip_chars (SLuchar_Type *umin, SLuchar_Typ e *u, | SL_EXTERN SLuchar_Type *SLutf8_bskip_chars (SLuchar_Type *umin, SLuchar_Typ e *u, | |||
unsigned int num, unsigned int *dn um, | unsigned int num, unsigned int *dn um, | |||
int ignore_combining); | int ignore_combining); | |||
/* 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_strlo (SLuchar_Type *u, SLuchar_Type *umax); | ||||
SL_EXTERN SLstr_Type *SLutf8_subst_wchar (SLuchar_Type *u, SLuchar_Type *um ax, | SL_EXTERN SLstr_Type *SLutf8_subst_wchar (SLuchar_Type *u, SLuchar_Type *um ax, | |||
SLwchar_Type wch, unsigned int pos, | SLwchar_Type wch, unsigned int pos, | |||
int ignore_combining); | int ignore_combining); | |||
SL_EXTERN unsigned int SLutf8_strlen (SLuchar_Type *s, int ignore_combining ); | SL_EXTERN unsigned int SLutf8_strlen (SLuchar_Type *s, int ignore_combining ); | |||
SL_EXTERN SLuchar_Type *SLutf8_decode (SLuchar_Type *u, SLuchar_Type *umax, | SL_EXTERN SLuchar_Type *SLutf8_decode (SLuchar_Type *u, SLuchar_Type *umax, | |||
SLwchar_Type *w, unsigned int *nconsume dp); | SLwchar_Type *w, unsigned int *nconsume dp); | |||
SL_EXTERN SLuchar_Type *SLutf8_encode (SLwchar_Type w, SLuchar_Type *u, uns igned int ulen); | SL_EXTERN SLuchar_Type *SLutf8_encode (SLwchar_Type w, SLuchar_Type *u, uns igned int ulen); | |||
SL_EXTERN int SLutf8_compare (SLuchar_Type *a, SLuchar_Type *amax, | SL_EXTERN int SLutf8_compare (SLuchar_Type *a, SLuchar_Type *amax, | |||
skipping to change at line 856 | skipping to change at line 859 | |||
#define SLARR_DATA_VALUE_IS_POINTER 2 | #define SLARR_DATA_VALUE_IS_POINTER 2 | |||
#define SLARR_DATA_VALUE_IS_RANGE 4 | #define SLARR_DATA_VALUE_IS_RANGE 4 | |||
#define SLARR_DATA_VALUE_IS_INTRINSIC 8 | #define SLARR_DATA_VALUE_IS_INTRINSIC 8 | |||
SLang_Class_Type *cl; | SLang_Class_Type *cl; | |||
unsigned int num_refs; | unsigned int num_refs; | |||
void (*free_fun)_PROTO((struct _pSLang_Array_Type *)); | void (*free_fun)_PROTO((struct _pSLang_Array_Type *)); | |||
VOID_STAR client_data; | VOID_STAR client_data; | |||
} | } | |||
SLang_Array_Type; | SLang_Array_Type; | |||
SL_EXTERN int SLang_pop_array_of_type (SLang_Array_Type **, SLtype); | SL_EXTERN int SLang_pop_array_of_type (SLang_Array_Type **atp, SLtype type) | |||
SL_EXTERN int SLang_pop_array (SLang_Array_Type **, int); | ; | |||
SL_EXTERN int SLang_push_array (SLang_Array_Type *, int); | SL_EXTERN int SLang_pop_array (SLang_Array_Type **atp, int convert_scalar); | |||
SL_EXTERN void SLang_free_array (SLang_Array_Type *); | SL_EXTERN int SLang_push_array (SLang_Array_Type *at, int do_free); | |||
SL_EXTERN void SLang_free_array (SLang_Array_Type *at); | ||||
SL_EXTERN SLang_Array_Type *SLang_create_array (SLtype, int, VOID_STAR, SLi ndex_Type *, unsigned int); | SL_EXTERN SLang_Array_Type *SLang_create_array (SLtype, int, VOID_STAR, SLi ndex_Type *, unsigned int); | |||
SL_EXTERN SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *); | SL_EXTERN SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *); | |||
SL_EXTERN int SLang_get_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR); | SL_EXTERN int SLang_get_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR); | |||
SL_EXTERN int SLang_set_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR); | SL_EXTERN int SLang_set_array_element (SLang_Array_Type *, SLindex_Type *, VOID_STAR); | |||
typedef int SLarray_Contract_Fun_Type (VOID_STAR xp, unsigned int increment , unsigned int num, VOID_STAR yp); | typedef int SLarray_Contract_Fun_Type (VOID_STAR xp, unsigned int increment , unsigned int num, VOID_STAR yp); | |||
typedef struct | typedef struct | |||
{ | { | |||
SLtype from_type; /* if array is this type */ | SLtype from_type; /* if array is this type */ | |||
SLtype typecast_to_type; /* typecast it to this */ | SLtype typecast_to_type; /* typecast it to this */ | |||
skipping to change at line 897 | skipping to change at line 900 | |||
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 int SLerr_throw (int err, char *msg, SLtype obj_type, VOID_STAR o bjptr); | |||
SL_EXTERN void SLang_verror (int, char *, ...) SLATTRIBUTE_PRINTF(2,3); | SL_EXTERN void SLang_verror (int, char *, ...) SLATTRIBUTE_PRINTF(2,3); | |||
SL_EXTERN void SLang_verror_va (int errcode, char *fmt, va_list va); | ||||
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; | |||
SL_EXTERN int SL_IO_Error; | SL_EXTERN int SL_IO_Error; | |||
skipping to change at line 984 | skipping to change at line 988 | |||
#define SL_DIVIDE_ERROR SL_DivideByZero_Error | #define SL_DIVIDE_ERROR SL_DivideByZero_Error | |||
#define SL_MATH_ERROR SL_Math_Error | #define SL_MATH_ERROR SL_Math_Error | |||
#define SL_ARITH_OVERFLOW_ERROR SL_ArithOverflow_Error | #define SL_ARITH_OVERFLOW_ERROR SL_ArithOverflow_Error | |||
#define SL_ARITH_UNDERFLOW_ERROR SL_ArithUnderflow_Error | #define SL_ARITH_UNDERFLOW_ERROR SL_ArithUnderflow_Error | |||
#define SL_USAGE_ERROR SL_Usage_Error | #define SL_USAGE_ERROR SL_Usage_Error | |||
#define SL_INVALID_DATA_ERROR SL_Data_Error | #define SL_INVALID_DATA_ERROR SL_Data_Error | |||
#define SL_UNICODE_ERROR SL_Unicode_Error | #define SL_UNICODE_ERROR SL_Unicode_Error | |||
#define SL_INVALID_UTF8 SL_InvalidUTF8_Error | #define SL_INVALID_UTF8 SL_InvalidUTF8_Error | |||
SL_EXTERN int SLang_Traceback; | SL_EXTERN int SLang_Traceback; | |||
#define SL_TB_NONE 0x0 | ||||
#define SL_TB_FULL 0x1 /* full traceback */ | ||||
#define SL_TB_OMIT_LOCALS 0x2 /* full, but omit local vars */ | ||||
#define SL_TB_PARTIAL 0x4 /* show just on line of traceback */ | ||||
/* If non-zero, dump an S-Lang traceback upon error. Available as | /* If non-zero, dump an S-Lang traceback upon error. Available as | |||
_traceback in S-Lang. */ | _traceback in S-Lang. */ | |||
SL_EXTERN char *SLang_User_Prompt; | SL_EXTERN char *SLang_User_Prompt; | |||
/* Prompt to use when reading from stdin */ | /* Prompt to use when reading from stdin */ | |||
SL_EXTERN int SLang_Version; | SL_EXTERN int SLang_Version; | |||
SL_EXTERN char *SLang_Version_String; | SL_EXTERN char *SLang_Version_String; | |||
SL_EXTERN char *SLang_Doc_Dir; | SL_EXTERN char *SLang_Doc_Dir; | |||
SL_EXTERN void (*SLang_VMessage_Hook) (char *, va_list); | SL_EXTERN void (*SLang_VMessage_Hook) (char *, va_list); | |||
skipping to change at line 1486 | skipping to change at line 1495 | |||
/* Despite the name of this variable, its value is the last BYTE of a key-s equence */ | /* 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); | |||
SL_EXTERN SLrline_Type *SLrline_open2 (char *, unsigned int width, unsigned int flags); | ||||
#define SL_RLINE_NO_ECHO 1 | #define SL_RLINE_NO_ECHO 1 | |||
#define SL_RLINE_USE_ANSI 2 | #define SL_RLINE_USE_ANSI 2 | |||
#define SL_RLINE_BLINK_MATCH 4 | #define SL_RLINE_BLINK_MATCH 4 | |||
#define SL_RLINE_UTF8_MODE 8 | #define SL_RLINE_UTF8_MODE 8 | |||
SL_EXTERN void SLrline_close (SLrline_Type *); | SL_EXTERN void SLrline_close (SLrline_Type *); | |||
/* This returns a malloced string */ | /* This returns a malloced string */ | |||
SL_EXTERN char *SLrline_read_line (SLrline_Type *, char *prompt, unsigned i nt *lenp); | SL_EXTERN char *SLrline_read_line (SLrline_Type *, char *prompt, unsigned i nt *lenp); | |||
SL_EXTERN int SLrline_bol (SLrline_Type *); | SL_EXTERN int SLrline_bol (SLrline_Type *); | |||
SL_EXTERN int SLrline_eol (SLrline_Type *); | SL_EXTERN int SLrline_eol (SLrline_Type *); | |||
SL_EXTERN int SLrline_del (SLrline_Type *, unsigned int len); | SL_EXTERN int SLrline_del (SLrline_Type *, unsigned int len); | |||
SL_EXTERN int SLrline_ins (SLrline_Type *, char *s, unsigned int len); | SL_EXTERN int SLrline_ins (SLrline_Type *, char *s, unsigned int len); | |||
SL_EXTERN int SLrline_move (SLrline_Type *, int); | ||||
SL_EXTERN int SLrline_set_echo (SLrline_Type *, int); | SL_EXTERN int SLrline_set_echo (SLrline_Type *, int); | |||
SL_EXTERN int SLrline_set_tab (SLrline_Type *, unsigned int tabwidth); | SL_EXTERN int SLrline_set_tab (SLrline_Type *, unsigned int tabwidth); | |||
SL_EXTERN int SLrline_set_point (SLrline_Type *, unsigned int); | SL_EXTERN int SLrline_set_point (SLrline_Type *, unsigned int); | |||
SL_EXTERN int SLrline_set_line (SLrline_Type *, char *); | SL_EXTERN int SLrline_set_line (SLrline_Type *, char *); | |||
SL_EXTERN int SLrline_set_hscroll (SLrline_Type *, unsigned int); | SL_EXTERN int SLrline_set_hscroll (SLrline_Type *, unsigned int); | |||
SL_EXTERN int SLrline_set_display_width (SLrline_Type *, unsigned int); | SL_EXTERN int SLrline_set_display_width (SLrline_Type *, unsigned int); | |||
SL_EXTERN int SLrline_get_echo (SLrline_Type *, int *); | SL_EXTERN int SLrline_get_echo (SLrline_Type *, int *); | |||
SL_EXTERN int SLrline_get_tab (SLrline_Type *, unsigned int *); | SL_EXTERN int SLrline_get_tab (SLrline_Type *, unsigned int *); | |||
skipping to change at line 1527 | skipping to change at line 1538 | |||
char *buf, unsigned int len, | char *buf, unsigned int len, | |||
unsigned int point, VOID_STAR c lient_data), | unsigned int point, VOID_STAR c lient_data), | |||
VOID_STAR client_data); | VOID_STAR client_data); | |||
SL_EXTERN SLkeymap_Type *SLrline_get_keymap (SLrline_Type *); | SL_EXTERN SLkeymap_Type *SLrline_get_keymap (SLrline_Type *); | |||
SL_EXTERN void SLrline_redraw (SLrline_Type *); | SL_EXTERN void SLrline_redraw (SLrline_Type *); | |||
SL_EXTERN int SLrline_save_line (SLrline_Type *); | SL_EXTERN int SLrline_save_line (SLrline_Type *); | |||
SL_EXTERN int SLrline_add_to_history (SLrline_Type *, char *); | SL_EXTERN int SLrline_add_to_history (SLrline_Type *, char *); | |||
/* Interpreter interface */ | ||||
SL_EXTERN int SLrline_init (char *appdef, char *user_initfile, char *sys_in | ||||
itfile); | ||||
/* Compatibility */ | /* Compatibility */ | |||
typedef SLrline_Type SLang_RLine_Info_Type; | typedef SLrline_Type SLang_RLine_Info_Type; | |||
/*}}}*/ | /*}}}*/ | |||
/*{{{ Low Level Screen Output Interface */ | /*{{{ Low Level Screen Output Interface */ | |||
SL_EXTERN unsigned long SLtt_Num_Chars_Output; | SL_EXTERN unsigned long SLtt_Num_Chars_Output; | |||
SL_EXTERN int SLtt_Baud_Rate; | SL_EXTERN int SLtt_Baud_Rate; | |||
skipping to change at line 2110 | skipping to change at line 2124 | |||
#define SLANG_UNARY_OP_MAX 0x2B | #define SLANG_UNARY_OP_MAX 0x2B | |||
SL_EXTERN char *SLang_Error_Message; | SL_EXTERN char *SLang_Error_Message; | |||
SL_EXTERN int SLadd_intrinsic_variable (char *, VOID_STAR, SLtype, int); | SL_EXTERN int SLadd_intrinsic_variable (char *, VOID_STAR, SLtype, int); | |||
SL_EXTERN int SLadd_intrinsic_function (char *, FVOID_STAR, SLtype, unsigne d int,...); | SL_EXTERN int SLadd_intrinsic_function (char *, FVOID_STAR, SLtype, unsigne d int,...); | |||
SL_EXTERN int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, SLtype, int); | SL_EXTERN int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, SLtype, int); | |||
SL_EXTERN int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, SLtype, unsigned int,...); | SL_EXTERN int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, SLtype, unsigned int,...); | |||
/* These functions are used to patch intrinsic tables that make use of | ||||
* dynamically allocated types whose type id is determined at | ||||
* run-time. The second version is useful for the most common case of a | ||||
* single mapping. | ||||
*/ | ||||
extern int SLclass_patch_intrin_fun_table (SLang_Intrin_Fun_Type *table, | ||||
SLtype *from_types, SLtype *to_type | ||||
s, unsigned int num); | ||||
extern int SLclass_patch_intrin_fun_table1 (SLang_Intrin_Fun_Type *table, | ||||
SLtype from_type, SLtype to_type); | ||||
#define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \ | #define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \ | |||
{(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \ | {(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \ | |||
{a1,a2,a3,a4,a5,a6,a7}, (in), (out)} | {a1,a2,a3,a4,a5,a6,a7}, (in), (out)} | |||
#define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \ | #define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \ | |||
MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7) | MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7) | |||
#define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \ | #define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \ | |||
MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0) | MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0) | |||
#define MAKE_INTRINSIC_5(n,f,out,a1,a2,a3,a4,a5) \ | #define MAKE_INTRINSIC_5(n,f,out,a1,a2,a3,a4,a5) \ | |||
MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0) | MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0) | |||
skipping to change at line 2270 | skipping to change at line 2294 | |||
#define SLREGEXP_UTF8 0x10 | #define SLREGEXP_UTF8 0x10 | |||
SL_EXTERN void SLregexp_free (SLRegexp_Type *); | SL_EXTERN void SLregexp_free (SLRegexp_Type *); | |||
SL_EXTERN char *SLregexp_match (SLRegexp_Type *compiled_regexp, char *str, unsigned int len); | SL_EXTERN char *SLregexp_match (SLRegexp_Type *compiled_regexp, char *str, unsigned int len); | |||
SL_EXTERN int SLregexp_nth_match (SLRegexp_Type *, unsigned int nth, unsign ed int *ofsp, unsigned int *lenp); | SL_EXTERN int SLregexp_nth_match (SLRegexp_Type *, unsigned int nth, unsign ed int *ofsp, unsigned int *lenp); | |||
SL_EXTERN int SLregexp_get_hints (SLRegexp_Type *, unsigned int *flagsp); | SL_EXTERN int SLregexp_get_hints (SLRegexp_Type *, unsigned int *flagsp); | |||
#define SLREGEXP_HINT_BOL 0x01 /* pattern must match bol */ | #define SLREGEXP_HINT_BOL 0x01 /* pattern must match bol */ | |||
#define SLREGEXP_HINT_OSEARCH 0x02 /* ordinary search will do */ | #define SLREGEXP_HINT_OSEARCH 0x02 /* ordinary search will do */ | |||
SL_EXTERN char *SLregexp_quote_string (char *, char *, unsigned int); | SL_EXTERN char *SLregexp_quote_string (char *pattern, char *buf, unsigned i nt buflen); | |||
/*}}}*/ | /*}}}*/ | |||
/*{{{ SLang Command Interface */ | /*{{{ SLang Command Interface */ | |||
struct _pSLcmd_Cmd_Type; /* Pre-declaration is needed below */ | struct _pSLcmd_Cmd_Type; /* Pre-declaration is needed below */ | |||
typedef struct | typedef struct | |||
{ | { | |||
struct _pSLcmd_Cmd_Type *table; | struct _pSLcmd_Cmd_Type *table; | |||
int argc; | int argc; | |||
End of changes. 14 change blocks. | ||||
15 lines changed or deleted | 42 lines changed or added | |||