Hello community, here is the log from the commit of package squirrel for openSUSE:Factory checked in at 2015-03-30 19:32:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/squirrel (Old) and /work/SRC/openSUSE:Factory/.squirrel.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "squirrel" Changes: -------- --- /work/SRC/openSUSE:Factory/squirrel/squirrel.changes 2013-07-25 14:49:14.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.squirrel.new/squirrel.changes 2015-03-30 19:32:53.000000000 +0200 @@ -1,0 +2,15 @@ +Thu Mar 26 22:45:17 UTC 2015 - [email protected] + +- Update to version 3.0.7 + * newthread and sq_newthread() no longer resets the base lib + function in the root table + * exceptions in the _inherited metamethod are propagated + * 'in' operator performance improvement + * fixed bug in print() + * fixed some documentation bug +- Use download Url as source +- Update patches; + * squirrel-gcc47.patch + * squirrel-ptr_conversion.patch + +------------------------------------------------------------------- Old: ---- squirrel_3_0_2_stable.tar.bz2 New: ---- squirrel_3_0_7_stable.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ squirrel.spec ++++++ --- /var/tmp/diff_new_pack.0qasuI/_old 2015-03-30 19:32:54.000000000 +0200 +++ /var/tmp/diff_new_pack.0qasuI/_new 2015-03-30 19:32:54.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package squirrel # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,18 +17,19 @@ %define tardir SQUIRREL3 +%define tarver 3_0_7 Name: squirrel Summary: A high level imperative/OO programming language License: MIT Group: Development/Languages/Other -Version: 3.0.2 +Version: 3.0.7 Release: 0 Url: http://squirrel-lang.org/ BuildRequires: dos2unix BuildRequires: gcc-c++ BuildRequires: libtool -Source: %{name}_3_0_2_stable.tar.bz2 +Source: http://downloads.sourceforge.net/project/squirrel/squirrel3/squirrel%203.0.7%20stable/%{name}_%{tarver}_stable.tar.gz Patch0: squirrel-autoconfiscate.patch.bz2 Patch1: squirrel-aliasing.patch Patch2: squirrel-ptr_conversion.patch ++++++ squirrel-gcc47.patch ++++++ --- /var/tmp/diff_new_pack.0qasuI/_old 2015-03-30 19:32:54.000000000 +0200 +++ /var/tmp/diff_new_pack.0qasuI/_new 2015-03-30 19:32:54.000000000 +0200 @@ -13,172 +13,11 @@ diff -Naur SQUIRREL3.orig/squirrel/sqstate.h SQUIRREL3/squirrel/sqstate.h --- SQUIRREL3.orig/squirrel/sqstate.h 2012-05-02 02:16:59.000000000 +0200 +++ SQUIRREL3/squirrel/sqstate.h 2012-05-02 02:17:09.000000000 +0200 -@@ -137,8 +137,4 @@ - //extern SQObjectPtr _null_; - - bool CompileTypemask(SQIntVec &res,const SQChar *typemask); -- --void *sq_vm_malloc(SQUnsignedInteger size); --void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size); --void sq_vm_free(void *p,SQUnsignedInteger size); - #endif //_SQSTATE_H_ -diff -Naur SQUIRREL3.orig/squirrel/sqstate.h.orig SQUIRREL3/squirrel/sqstate.h.orig ---- SQUIRREL3.orig/squirrel/sqstate.h.orig 1970-01-01 01:00:00.000000000 +0100 -+++ SQUIRREL3/squirrel/sqstate.h.orig 2012-05-02 02:16:52.000000000 +0200 -@@ -0,0 +1,144 @@ -+/* see copyright notice in squirrel.h */ -+#ifndef _SQSTATE_H_ -+#define _SQSTATE_H_ -+ -+#include "squtils.h" -+#include "sqobject.h" -+struct SQString; -+struct SQTable; -+//max number of character for a printed number -+#define NUMBER_MAX_CHAR 50 -+ -+struct SQStringTable -+{ -+ SQStringTable(SQSharedState*ss); -+ ~SQStringTable(); -+ SQString *Add(const SQChar *,SQInteger len); -+ void Remove(SQString *); -+private: -+ void Resize(SQInteger size); -+ void AllocNodes(SQInteger size); -+ SQString **_strings; -+ SQUnsignedInteger _numofslots; -+ SQUnsignedInteger _slotused; -+ SQSharedState *_sharedstate; -+}; -+ -+struct RefTable { -+ struct RefNode { -+ SQObjectPtr obj; -+ SQUnsignedInteger refs; -+ struct RefNode *next; -+ }; -+ RefTable(); -+ ~RefTable(); -+ void AddRef(SQObject &obj); -+ SQBool Release(SQObject &obj); -+ SQUnsignedInteger GetRefCount(SQObject &obj); -+#ifndef NO_GARBAGE_COLLECTOR -+ void Mark(SQCollectable **chain); -+#endif -+ void Finalize(); -+private: -+ RefNode *Get(SQObject &obj,SQHash &mainpos,RefNode **prev,bool add); -+ RefNode *Add(SQHash mainpos,SQObject &obj); -+ void Resize(SQUnsignedInteger size); -+ void AllocNodes(SQUnsignedInteger size); -+ SQUnsignedInteger _numofslots; -+ SQUnsignedInteger _slotused; -+ RefNode *_nodes; -+ RefNode *_freelist; -+ RefNode **_buckets; -+}; -+ -+#define ADD_STRING(ss,str,len) ss->_stringtable->Add(str,len) -+#define REMOVE_STRING(ss,bstr) ss->_stringtable->Remove(bstr) -+ -+struct SQObjectPtr; -+ -+struct SQSharedState -+{ -+ SQSharedState(); -+ ~SQSharedState(); -+ void Init(); -+public: -+ SQChar* GetScratchPad(SQInteger size); -+ SQInteger GetMetaMethodIdxByName(const SQObjectPtr &name); -+#ifndef NO_GARBAGE_COLLECTOR -+ SQInteger CollectGarbage(SQVM *vm); -+ void RunMark(SQVM *vm,SQCollectable **tchain); -+ SQInteger ResurrectUnreachable(SQVM *vm); -+ static void MarkObject(SQObjectPtr &o,SQCollectable **chain); -+#endif -+ SQObjectPtrVec *_metamethods; -+ SQObjectPtr _metamethodsmap; -+ SQObjectPtrVec *_systemstrings; -+ SQObjectPtrVec *_types; -+ SQStringTable *_stringtable; -+ RefTable _refs_table; -+ SQObjectPtr _registry; -+ SQObjectPtr _consts; -+ SQObjectPtr _constructoridx; -+#ifndef NO_GARBAGE_COLLECTOR -+ SQCollectable *_gc_chain; -+#endif -+ SQObjectPtr _root_vm; -+ SQObjectPtr _table_default_delegate; -+ static SQRegFunction _table_default_delegate_funcz[]; -+ SQObjectPtr _array_default_delegate; -+ static SQRegFunction _array_default_delegate_funcz[]; -+ SQObjectPtr _string_default_delegate; -+ static SQRegFunction _string_default_delegate_funcz[]; -+ SQObjectPtr _number_default_delegate; -+ static SQRegFunction _number_default_delegate_funcz[]; -+ SQObjectPtr _generator_default_delegate; -+ static SQRegFunction _generator_default_delegate_funcz[]; -+ SQObjectPtr _closure_default_delegate; -+ static SQRegFunction _closure_default_delegate_funcz[]; -+ SQObjectPtr _thread_default_delegate; -+ static SQRegFunction _thread_default_delegate_funcz[]; -+ SQObjectPtr _class_default_delegate; -+ static SQRegFunction _class_default_delegate_funcz[]; -+ SQObjectPtr _instance_default_delegate; -+ static SQRegFunction _instance_default_delegate_funcz[]; -+ SQObjectPtr _weakref_default_delegate; -+ static SQRegFunction _weakref_default_delegate_funcz[]; -+ -+ SQCOMPILERERROR _compilererrorhandler; -+ SQPRINTFUNCTION _printfunc; -+ SQPRINTFUNCTION _errorfunc; -+ bool _debuginfo; -+ bool _notifyallexceptions; -+private: -+ SQChar *_scratchpad; -+ SQInteger _scratchpadsize; -+}; -+ -+#define _sp(s) (_sharedstate->GetScratchPad(s)) -+#define _spval (_sharedstate->GetScratchPad(-1)) -+ -+#define _table_ddel _table(_sharedstate->_table_default_delegate) -+#define _array_ddel _table(_sharedstate->_array_default_delegate) -+#define _string_ddel _table(_sharedstate->_string_default_delegate) -+#define _number_ddel _table(_sharedstate->_number_default_delegate) -+#define _generator_ddel _table(_sharedstate->_generator_default_delegate) -+#define _closure_ddel _table(_sharedstate->_closure_default_delegate) -+#define _thread_ddel _table(_sharedstate->_thread_default_delegate) -+#define _class_ddel _table(_sharedstate->_class_default_delegate) -+#define _instance_ddel _table(_sharedstate->_instance_default_delegate) -+#define _weakref_ddel _table(_sharedstate->_weakref_default_delegate) -+ -+#ifdef SQUNICODE //rsl REAL STRING LEN -+#define rsl(l) ((l)<<1) -+#else -+#define rsl(l) (l) -+#endif -+ -+//extern SQObjectPtr _null_; -+ -+bool CompileTypemask(SQIntVec &res,const SQChar *typemask); -+ -+void *sq_vm_malloc(SQUnsignedInteger size); -+void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size); -+void sq_vm_free(void *p,SQUnsignedInteger size); -+#endif //_SQSTATE_H_ -diff -Naur SQUIRREL3.orig/squirrel/squtils.h SQUIRREL3/squirrel/squtils.h ---- SQUIRREL3.orig/squirrel/squtils.h 2012-05-02 02:16:59.000000000 +0200 -+++ SQUIRREL3/squirrel/squtils.h 2012-05-02 02:17:09.000000000 +0200 -@@ -2,6 +2,8 @@ - #ifndef _SQUTILS_H_ - #define _SQUTILS_H_ +@@ -4,6 +4,7 @@ + #include "squtils.h" + #include "sqobject.h" +#include "sqmem.h" -+ - #define sq_new(__ptr,__type) {__ptr=(__type *)sq_vm_malloc(sizeof(__type));new (__ptr) __type;} - #define sq_delete(__ptr,__type) {__ptr->~__type();sq_vm_free(__ptr,sizeof(__type));} - #define SQ_MALLOC(__size) sq_vm_malloc((__size)); + struct SQString; + struct SQTable; + //max number of character for a printed number ++++++ squirrel-ptr_conversion.patch ++++++ --- /var/tmp/diff_new_pack.0qasuI/_old 2015-03-30 19:32:54.000000000 +0200 +++ /var/tmp/diff_new_pack.0qasuI/_new 2015-03-30 19:32:54.000000000 +0200 @@ -1,24 +1,20 @@ diff -Naur SQUIRREL3.orig/include/squirrel.h SQUIRREL3/include/squirrel.h --- SQUIRREL3.orig/include/squirrel.h 2012-05-02 09:28:02.000000000 +0200 +++ SQUIRREL3/include/squirrel.h 2012-05-02 09:30:20.000000000 +0200 -@@ -23,6 +23,12 @@ - #define _SQUIRREL_H_ +@@ -24,6 +24,9 @@ #ifdef __cplusplus + extern "C" { +#include <cstdint> +#else +#include <stdint.h> -+#endif -+ -+#ifdef __cplusplus - extern "C" { #endif -@@ -37,24 +43,23 @@ - #endif + #ifndef SQUIRREL_API +@@ -38,23 +41,23 @@ #ifdef _SQ64 -- + -#ifdef _MSC_VER -typedef __int64 SQInteger; -typedef unsigned __int64 SQUnsignedInteger; @@ -54,7 +50,7 @@ #endif -@@ -176,11 +181,12 @@ +@@ -176,11 +179,12 @@ #ifdef _SQ64 #define _PRINT_INT_PREC _SC("ll") @@ -65,514 +61,9 @@ +#define _PRINT_INT_FMT _SC("%lld") + - #define SQUIRREL_VERSION _SC("Squirrel 3.0.2 stable") - #define SQUIRREL_COPYRIGHT _SC("Copyright (C) 2003-2011 Alberto Demichelis") + #define SQUIRREL_VERSION _SC("Squirrel 3.0.7 stable") + #define SQUIRREL_COPYRIGHT _SC("Copyright (C) 2003-2015 Alberto Demichelis") #define SQUIRREL_AUTHOR _SC("Alberto Demichelis") -diff -Naur SQUIRREL3.orig/include/squirrel.h.orig SQUIRREL3/include/squirrel.h.orig ---- SQUIRREL3.orig/include/squirrel.h.orig 1970-01-01 01:00:00.000000000 +0100 -+++ SQUIRREL3/include/squirrel.h.orig 2012-05-02 09:27:55.000000000 +0200 -@@ -0,0 +1,501 @@ -+/* -+Copyright (c) 2003-2011 Alberto Demichelis -+ -+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 THE -+AUTHORS OR COPYRIGHT HOLDERS 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. -+*/ -+#ifndef _SQUIRREL_H_ -+#define _SQUIRREL_H_ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#ifndef SQUIRREL_API -+#define SQUIRREL_API extern -+#endif -+ -+#if (defined(_WIN64) || defined(_LP64)) -+#ifndef _SQ64 -+#define _SQ64 -+#endif -+#endif -+ -+#ifdef _SQ64 -+ -+#ifdef _MSC_VER -+typedef __int64 SQInteger; -+typedef unsigned __int64 SQUnsignedInteger; -+typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/ -+#else -+typedef long long SQInteger; -+typedef unsigned long long SQUnsignedInteger; -+typedef unsigned long long SQHash; /*should be the same size of a pointer*/ -+#endif -+typedef int SQInt32; -+typedef unsigned int SQUnsignedInteger32; -+#else -+typedef int SQInteger; -+typedef int SQInt32; /*must be 32 bits(also on 64bits processors)*/ -+typedef unsigned int SQUnsignedInteger32; /*must be 32 bits(also on 64bits processors)*/ -+typedef unsigned int SQUnsignedInteger; -+typedef unsigned int SQHash; /*should be the same size of a pointer*/ -+#endif -+ -+ -+#ifdef SQUSEDOUBLE -+typedef double SQFloat; -+#else -+typedef float SQFloat; -+#endif -+ -+#if defined(SQUSEDOUBLE) && !defined(_SQ64) || !defined(SQUSEDOUBLE) && defined(_SQ64) -+#ifdef _MSC_VER -+typedef __int64 SQRawObjectVal; //must be 64bits -+#else -+typedef long long SQRawObjectVal; //must be 64bits -+#endif -+#define SQ_OBJECT_RAWINIT() { _unVal.raw = 0; } -+#else -+typedef SQUnsignedInteger SQRawObjectVal; //is 32 bits on 32 bits builds and 64 bits otherwise -+#define SQ_OBJECT_RAWINIT() -+#endif -+ -+#ifndef SQ_ALIGNMENT // SQ_ALIGNMENT shall be less than or equal to SQ_MALLOC alignments, and its value shall be power of 2. -+#if defined(SQUSEDOUBLE) || defined(_SQ64) -+#define SQ_ALIGNMENT 8 -+#else -+#define SQ_ALIGNMENT 4 -+#endif -+#endif -+ -+typedef void* SQUserPointer; -+typedef SQUnsignedInteger SQBool; -+typedef SQInteger SQRESULT; -+ -+#define SQTrue (1) -+#define SQFalse (0) -+ -+struct SQVM; -+struct SQTable; -+struct SQArray; -+struct SQString; -+struct SQClosure; -+struct SQGenerator; -+struct SQNativeClosure; -+struct SQUserData; -+struct SQFunctionProto; -+struct SQRefCounted; -+struct SQClass; -+struct SQInstance; -+struct SQDelegable; -+struct SQOuter; -+ -+#ifdef _UNICODE -+#define SQUNICODE -+#endif -+ -+#ifdef SQUNICODE -+#if (defined(_MSC_VER) && _MSC_VER >= 1400) // 1400 = VS8 -+ -+#if !defined(_NATIVE_WCHAR_T_DEFINED) //this is if the compiler considers wchar_t as native type -+#define wchar_t unsigned short -+#endif -+ -+#else -+typedef unsigned short wchar_t; -+#endif -+ -+typedef wchar_t SQChar; -+#define _SC(a) L##a -+#define scstrcmp wcscmp -+#define scsprintf swprintf -+#define scstrlen wcslen -+#define scstrtod wcstod -+#ifdef _SQ64 -+#define scstrtol _wcstoi64 -+#else -+#define scstrtol wcstol -+#endif -+#define scatoi _wtoi -+#define scstrtoul wcstoul -+#define scvsprintf vswprintf -+#define scstrstr wcsstr -+#define scisspace iswspace -+#define scisdigit iswdigit -+#define scisxdigit iswxdigit -+#define scisalpha iswalpha -+#define sciscntrl iswcntrl -+#define scisalnum iswalnum -+#define scprintf wprintf -+#define MAX_CHAR 0xFFFF -+#else -+typedef char SQChar; -+#define _SC(a) a -+#define scstrcmp strcmp -+#define scsprintf sprintf -+#define scstrlen strlen -+#define scstrtod strtod -+#ifdef _SQ64 -+#ifdef _MSC_VER -+#define scstrtol _strtoi64 -+#else -+#define scstrtol strtoll -+#endif -+#else -+#define scstrtol strtol -+#endif -+#define scatoi atoi -+#define scstrtoul strtoul -+#define scvsprintf vsprintf -+#define scstrstr strstr -+#define scisspace isspace -+#define scisdigit isdigit -+#define scisxdigit isxdigit -+#define sciscntrl iscntrl -+#define scisalpha isalpha -+#define scisalnum isalnum -+#define scprintf printf -+#define MAX_CHAR 0xFF -+#endif -+ -+#ifdef _SQ64 -+#define _PRINT_INT_PREC _SC("ll") -+#define _PRINT_INT_FMT _SC("%lld") -+#else -+#define _PRINT_INT_FMT _SC("%d") -+#endif -+ -+#define SQUIRREL_VERSION _SC("Squirrel 3.0.2 stable") -+#define SQUIRREL_COPYRIGHT _SC("Copyright (C) 2003-2011 Alberto Demichelis") -+#define SQUIRREL_AUTHOR _SC("Alberto Demichelis") -+#define SQUIRREL_VERSION_NUMBER 302 -+ -+#define SQ_VMSTATE_IDLE 0 -+#define SQ_VMSTATE_RUNNING 1 -+#define SQ_VMSTATE_SUSPENDED 2 -+ -+#define SQUIRREL_EOB 0 -+#define SQ_BYTECODE_STREAM_TAG 0xFAFA -+ -+#define SQOBJECT_REF_COUNTED 0x08000000 -+#define SQOBJECT_NUMERIC 0x04000000 -+#define SQOBJECT_DELEGABLE 0x02000000 -+#define SQOBJECT_CANBEFALSE 0x01000000 -+ -+#define SQ_MATCHTYPEMASKSTRING (-99999) -+ -+#define _RT_MASK 0x00FFFFFF -+#define _RAW_TYPE(type) (type&_RT_MASK) -+ -+#define _RT_NULL 0x00000001 -+#define _RT_INTEGER 0x00000002 -+#define _RT_FLOAT 0x00000004 -+#define _RT_BOOL 0x00000008 -+#define _RT_STRING 0x00000010 -+#define _RT_TABLE 0x00000020 -+#define _RT_ARRAY 0x00000040 -+#define _RT_USERDATA 0x00000080 -+#define _RT_CLOSURE 0x00000100 -+#define _RT_NATIVECLOSURE 0x00000200 -+#define _RT_GENERATOR 0x00000400 -+#define _RT_USERPOINTER 0x00000800 -+#define _RT_THREAD 0x00001000 -+#define _RT_FUNCPROTO 0x00002000 -+#define _RT_CLASS 0x00004000 -+#define _RT_INSTANCE 0x00008000 -+#define _RT_WEAKREF 0x00010000 -+#define _RT_OUTER 0x00020000 -+ -+typedef enum tagSQObjectType{ -+ OT_NULL = (_RT_NULL|SQOBJECT_CANBEFALSE), -+ OT_INTEGER = (_RT_INTEGER|SQOBJECT_NUMERIC|SQOBJECT_CANBEFALSE), -+ OT_FLOAT = (_RT_FLOAT|SQOBJECT_NUMERIC|SQOBJECT_CANBEFALSE), -+ OT_BOOL = (_RT_BOOL|SQOBJECT_CANBEFALSE), -+ OT_STRING = (_RT_STRING|SQOBJECT_REF_COUNTED), -+ OT_TABLE = (_RT_TABLE|SQOBJECT_REF_COUNTED|SQOBJECT_DELEGABLE), -+ OT_ARRAY = (_RT_ARRAY|SQOBJECT_REF_COUNTED), -+ OT_USERDATA = (_RT_USERDATA|SQOBJECT_REF_COUNTED|SQOBJECT_DELEGABLE), -+ OT_CLOSURE = (_RT_CLOSURE|SQOBJECT_REF_COUNTED), -+ OT_NATIVECLOSURE = (_RT_NATIVECLOSURE|SQOBJECT_REF_COUNTED), -+ OT_GENERATOR = (_RT_GENERATOR|SQOBJECT_REF_COUNTED), -+ OT_USERPOINTER = _RT_USERPOINTER, -+ OT_THREAD = (_RT_THREAD|SQOBJECT_REF_COUNTED) , -+ OT_FUNCPROTO = (_RT_FUNCPROTO|SQOBJECT_REF_COUNTED), //internal usage only -+ OT_CLASS = (_RT_CLASS|SQOBJECT_REF_COUNTED), -+ OT_INSTANCE = (_RT_INSTANCE|SQOBJECT_REF_COUNTED|SQOBJECT_DELEGABLE), -+ OT_WEAKREF = (_RT_WEAKREF|SQOBJECT_REF_COUNTED), -+ OT_OUTER = (_RT_OUTER|SQOBJECT_REF_COUNTED) //internal usage only -+}SQObjectType; -+ -+#define ISREFCOUNTED(t) (t&SQOBJECT_REF_COUNTED) -+ -+ -+typedef union tagSQObjectValue -+{ -+ struct SQTable *pTable; -+ struct SQArray *pArray; -+ struct SQClosure *pClosure; -+ struct SQOuter *pOuter; -+ struct SQGenerator *pGenerator; -+ struct SQNativeClosure *pNativeClosure; -+ struct SQString *pString; -+ struct SQUserData *pUserData; -+ SQInteger nInteger; -+ SQFloat fFloat; -+ SQUserPointer pUserPointer; -+ struct SQFunctionProto *pFunctionProto; -+ struct SQRefCounted *pRefCounted; -+ struct SQDelegable *pDelegable; -+ struct SQVM *pThread; -+ struct SQClass *pClass; -+ struct SQInstance *pInstance; -+ struct SQWeakRef *pWeakRef; -+ SQRawObjectVal raw; -+}SQObjectValue; -+ -+ -+typedef struct tagSQObject -+{ -+ SQObjectType _type; -+ SQObjectValue _unVal; -+}SQObject; -+ -+typedef struct tagSQMemberHandle{ -+ SQBool _static; -+ SQInteger _index; -+}SQMemberHandle; -+ -+typedef struct tagSQStackInfos{ -+ const SQChar* funcname; -+ const SQChar* source; -+ SQInteger line; -+}SQStackInfos; -+ -+typedef struct SQVM* HSQUIRRELVM; -+typedef SQObject HSQOBJECT; -+typedef SQMemberHandle HSQMEMBERHANDLE; -+typedef SQInteger (*SQFUNCTION)(HSQUIRRELVM); -+typedef SQInteger (*SQRELEASEHOOK)(SQUserPointer,SQInteger size); -+typedef void (*SQCOMPILERERROR)(HSQUIRRELVM,const SQChar * /*desc*/,const SQChar * /*source*/,SQInteger /*line*/,SQInteger /*column*/); -+typedef void (*SQPRINTFUNCTION)(HSQUIRRELVM,const SQChar * ,...); -+typedef void (*SQDEBUGHOOK)(HSQUIRRELVM /*v*/, SQInteger /*type*/, const SQChar * /*sourcename*/, SQInteger /*line*/, const SQChar * /*funcname*/); -+typedef SQInteger (*SQWRITEFUNC)(SQUserPointer,SQUserPointer,SQInteger); -+typedef SQInteger (*SQREADFUNC)(SQUserPointer,SQUserPointer,SQInteger); -+ -+typedef SQInteger (*SQLEXREADFUNC)(SQUserPointer); -+ -+typedef struct tagSQRegFunction{ -+ const SQChar *name; -+ SQFUNCTION f; -+ SQInteger nparamscheck; -+ const SQChar *typemask; -+}SQRegFunction; -+ -+typedef struct tagSQFunctionInfo { -+ SQUserPointer funcid; -+ const SQChar *name; -+ const SQChar *source; -+}SQFunctionInfo; -+ -+/*vm*/ -+SQUIRREL_API HSQUIRRELVM sq_open(SQInteger initialstacksize); -+SQUIRREL_API HSQUIRRELVM sq_newthread(HSQUIRRELVM friendvm, SQInteger initialstacksize); -+SQUIRREL_API void sq_seterrorhandler(HSQUIRRELVM v); -+SQUIRREL_API void sq_close(HSQUIRRELVM v); -+SQUIRREL_API void sq_setforeignptr(HSQUIRRELVM v,SQUserPointer p); -+SQUIRREL_API SQUserPointer sq_getforeignptr(HSQUIRRELVM v); -+SQUIRREL_API void sq_setprintfunc(HSQUIRRELVM v, SQPRINTFUNCTION printfunc,SQPRINTFUNCTION errfunc); -+SQUIRREL_API SQPRINTFUNCTION sq_getprintfunc(HSQUIRRELVM v); -+SQUIRREL_API SQPRINTFUNCTION sq_geterrorfunc(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_suspendvm(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_wakeupvm(HSQUIRRELVM v,SQBool resumedret,SQBool retval,SQBool raiseerror,SQBool throwerror); -+SQUIRREL_API SQInteger sq_getvmstate(HSQUIRRELVM v); -+ -+/*compiler*/ -+SQUIRREL_API SQRESULT sq_compile(HSQUIRRELVM v,SQLEXREADFUNC read,SQUserPointer p,const SQChar *sourcename,SQBool raiseerror); -+SQUIRREL_API SQRESULT sq_compilebuffer(HSQUIRRELVM v,const SQChar *s,SQInteger size,const SQChar *sourcename,SQBool raiseerror); -+SQUIRREL_API void sq_enabledebuginfo(HSQUIRRELVM v, SQBool enable); -+SQUIRREL_API void sq_notifyallexceptions(HSQUIRRELVM v, SQBool enable); -+SQUIRREL_API void sq_setcompilererrorhandler(HSQUIRRELVM v,SQCOMPILERERROR f); -+ -+/*stack operations*/ -+SQUIRREL_API void sq_push(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API void sq_pop(HSQUIRRELVM v,SQInteger nelemstopop); -+SQUIRREL_API void sq_poptop(HSQUIRRELVM v); -+SQUIRREL_API void sq_remove(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQInteger sq_gettop(HSQUIRRELVM v); -+SQUIRREL_API void sq_settop(HSQUIRRELVM v,SQInteger newtop); -+SQUIRREL_API SQRESULT sq_reservestack(HSQUIRRELVM v,SQInteger nsize); -+SQUIRREL_API SQInteger sq_cmp(HSQUIRRELVM v); -+SQUIRREL_API void sq_move(HSQUIRRELVM dest,HSQUIRRELVM src,SQInteger idx); -+ -+/*object creation handling*/ -+SQUIRREL_API SQUserPointer sq_newuserdata(HSQUIRRELVM v,SQUnsignedInteger size); -+SQUIRREL_API void sq_newtable(HSQUIRRELVM v); -+SQUIRREL_API void sq_newtableex(HSQUIRRELVM v,SQInteger initialcapacity); -+SQUIRREL_API void sq_newarray(HSQUIRRELVM v,SQInteger size); -+SQUIRREL_API void sq_newclosure(HSQUIRRELVM v,SQFUNCTION func,SQUnsignedInteger nfreevars); -+SQUIRREL_API SQRESULT sq_setparamscheck(HSQUIRRELVM v,SQInteger nparamscheck,const SQChar *typemask); -+SQUIRREL_API SQRESULT sq_bindenv(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API void sq_pushstring(HSQUIRRELVM v,const SQChar *s,SQInteger len); -+SQUIRREL_API void sq_pushfloat(HSQUIRRELVM v,SQFloat f); -+SQUIRREL_API void sq_pushinteger(HSQUIRRELVM v,SQInteger n); -+SQUIRREL_API void sq_pushbool(HSQUIRRELVM v,SQBool b); -+SQUIRREL_API void sq_pushuserpointer(HSQUIRRELVM v,SQUserPointer p); -+SQUIRREL_API void sq_pushnull(HSQUIRRELVM v); -+SQUIRREL_API SQObjectType sq_gettype(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQInteger sq_getsize(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQHash sq_gethash(HSQUIRRELVM v, SQInteger idx); -+SQUIRREL_API SQRESULT sq_getbase(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQBool sq_instanceof(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_tostring(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API void sq_tobool(HSQUIRRELVM v, SQInteger idx, SQBool *b); -+SQUIRREL_API SQRESULT sq_getstring(HSQUIRRELVM v,SQInteger idx,const SQChar **c); -+SQUIRREL_API SQRESULT sq_getinteger(HSQUIRRELVM v,SQInteger idx,SQInteger *i); -+SQUIRREL_API SQRESULT sq_getfloat(HSQUIRRELVM v,SQInteger idx,SQFloat *f); -+SQUIRREL_API SQRESULT sq_getbool(HSQUIRRELVM v,SQInteger idx,SQBool *b); -+SQUIRREL_API SQRESULT sq_getthread(HSQUIRRELVM v,SQInteger idx,HSQUIRRELVM *thread); -+SQUIRREL_API SQRESULT sq_getuserpointer(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p); -+SQUIRREL_API SQRESULT sq_getuserdata(HSQUIRRELVM v,SQInteger idx,SQUserPointer *p,SQUserPointer *typetag); -+SQUIRREL_API SQRESULT sq_settypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer typetag); -+SQUIRREL_API SQRESULT sq_gettypetag(HSQUIRRELVM v,SQInteger idx,SQUserPointer *typetag); -+SQUIRREL_API void sq_setreleasehook(HSQUIRRELVM v,SQInteger idx,SQRELEASEHOOK hook); -+SQUIRREL_API SQChar *sq_getscratchpad(HSQUIRRELVM v,SQInteger minsize); -+SQUIRREL_API SQRESULT sq_getfunctioninfo(HSQUIRRELVM v,SQInteger idx,SQFunctionInfo *fi); -+SQUIRREL_API SQRESULT sq_getclosureinfo(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger *nparams,SQUnsignedInteger *nfreevars); -+SQUIRREL_API SQRESULT sq_setnativeclosurename(HSQUIRRELVM v,SQInteger idx,const SQChar *name); -+SQUIRREL_API SQRESULT sq_setinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer p); -+SQUIRREL_API SQRESULT sq_getinstanceup(HSQUIRRELVM v, SQInteger idx, SQUserPointer *p,SQUserPointer typetag); -+SQUIRREL_API SQRESULT sq_setclassudsize(HSQUIRRELVM v, SQInteger idx, SQInteger udsize); -+SQUIRREL_API SQRESULT sq_newclass(HSQUIRRELVM v,SQBool hasbase); -+SQUIRREL_API SQRESULT sq_createinstance(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_setattributes(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_getattributes(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_getclass(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API void sq_weakref(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_getdefaultdelegate(HSQUIRRELVM v,SQObjectType t); -+SQUIRREL_API SQRESULT sq_getmemberhandle(HSQUIRRELVM v,SQInteger idx,HSQMEMBERHANDLE *handle); -+SQUIRREL_API SQRESULT sq_getbyhandle(HSQUIRRELVM v,SQInteger idx,HSQMEMBERHANDLE *handle); -+SQUIRREL_API SQRESULT sq_setbyhandle(HSQUIRRELVM v,SQInteger idx,HSQMEMBERHANDLE *handle); -+ -+/*object manipulation*/ -+SQUIRREL_API void sq_pushroottable(HSQUIRRELVM v); -+SQUIRREL_API void sq_pushregistrytable(HSQUIRRELVM v); -+SQUIRREL_API void sq_pushconsttable(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_setroottable(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_setconsttable(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_newslot(HSQUIRRELVM v, SQInteger idx, SQBool bstatic); -+SQUIRREL_API SQRESULT sq_deleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval); -+SQUIRREL_API SQRESULT sq_set(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_get(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_rawget(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_rawset(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_rawdeleteslot(HSQUIRRELVM v,SQInteger idx,SQBool pushval); -+SQUIRREL_API SQRESULT sq_arrayappend(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_arraypop(HSQUIRRELVM v,SQInteger idx,SQBool pushval); -+SQUIRREL_API SQRESULT sq_arrayresize(HSQUIRRELVM v,SQInteger idx,SQInteger newsize); -+SQUIRREL_API SQRESULT sq_arrayreverse(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_arrayremove(HSQUIRRELVM v,SQInteger idx,SQInteger itemidx); -+SQUIRREL_API SQRESULT sq_arrayinsert(HSQUIRRELVM v,SQInteger idx,SQInteger destpos); -+SQUIRREL_API SQRESULT sq_setdelegate(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_getdelegate(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_clone(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_setfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval); -+SQUIRREL_API SQRESULT sq_next(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_getweakrefval(HSQUIRRELVM v,SQInteger idx); -+SQUIRREL_API SQRESULT sq_clear(HSQUIRRELVM v,SQInteger idx); -+ -+/*calls*/ -+SQUIRREL_API SQRESULT sq_call(HSQUIRRELVM v,SQInteger params,SQBool retval,SQBool raiseerror); -+SQUIRREL_API SQRESULT sq_resume(HSQUIRRELVM v,SQBool retval,SQBool raiseerror); -+SQUIRREL_API const SQChar *sq_getlocal(HSQUIRRELVM v,SQUnsignedInteger level,SQUnsignedInteger idx); -+SQUIRREL_API SQRESULT sq_getcallee(HSQUIRRELVM v); -+SQUIRREL_API const SQChar *sq_getfreevariable(HSQUIRRELVM v,SQInteger idx,SQUnsignedInteger nval); -+SQUIRREL_API SQRESULT sq_throwerror(HSQUIRRELVM v,const SQChar *err); -+SQUIRREL_API SQRESULT sq_throwobject(HSQUIRRELVM v); -+SQUIRREL_API void sq_reseterror(HSQUIRRELVM v); -+SQUIRREL_API void sq_getlasterror(HSQUIRRELVM v); -+ -+/*raw object handling*/ -+SQUIRREL_API SQRESULT sq_getstackobj(HSQUIRRELVM v,SQInteger idx,HSQOBJECT *po); -+SQUIRREL_API void sq_pushobject(HSQUIRRELVM v,HSQOBJECT obj); -+SQUIRREL_API void sq_addref(HSQUIRRELVM v,HSQOBJECT *po); -+SQUIRREL_API SQBool sq_release(HSQUIRRELVM v,HSQOBJECT *po); -+SQUIRREL_API SQUnsignedInteger sq_getrefcount(HSQUIRRELVM v,HSQOBJECT *po); -+SQUIRREL_API void sq_resetobject(HSQOBJECT *po); -+SQUIRREL_API const SQChar *sq_objtostring(const HSQOBJECT *o); -+SQUIRREL_API SQBool sq_objtobool(const HSQOBJECT *o); -+SQUIRREL_API SQInteger sq_objtointeger(const HSQOBJECT *o); -+SQUIRREL_API SQFloat sq_objtofloat(const HSQOBJECT *o); -+SQUIRREL_API SQUserPointer sq_objtouserpointer(const HSQOBJECT *o); -+SQUIRREL_API SQRESULT sq_getobjtypetag(const HSQOBJECT *o,SQUserPointer * typetag); -+ -+/*GC*/ -+SQUIRREL_API SQInteger sq_collectgarbage(HSQUIRRELVM v); -+SQUIRREL_API SQRESULT sq_resurrectunreachable(HSQUIRRELVM v); -+ -+/*serialization*/ -+SQUIRREL_API SQRESULT sq_writeclosure(HSQUIRRELVM vm,SQWRITEFUNC writef,SQUserPointer up); -+SQUIRREL_API SQRESULT sq_readclosure(HSQUIRRELVM vm,SQREADFUNC readf,SQUserPointer up); -+ -+/*mem allocation*/ -+SQUIRREL_API void *sq_malloc(SQUnsignedInteger size); -+SQUIRREL_API void *sq_realloc(void* p,SQUnsignedInteger oldsize,SQUnsignedInteger newsize); -+SQUIRREL_API void sq_free(void *p,SQUnsignedInteger size); -+ -+/*debug*/ -+SQUIRREL_API SQRESULT sq_stackinfos(HSQUIRRELVM v,SQInteger level,SQStackInfos *si); -+SQUIRREL_API void sq_setdebughook(HSQUIRRELVM v); -+SQUIRREL_API void sq_setnativedebughook(HSQUIRRELVM v,SQDEBUGHOOK hook); -+ -+/*UTILITY MACRO*/ -+#define sq_isnumeric(o) ((o)._type&SQOBJECT_NUMERIC) -+#define sq_istable(o) ((o)._type==OT_TABLE) -+#define sq_isarray(o) ((o)._type==OT_ARRAY) -+#define sq_isfunction(o) ((o)._type==OT_FUNCPROTO) -+#define sq_isclosure(o) ((o)._type==OT_CLOSURE) -+#define sq_isgenerator(o) ((o)._type==OT_GENERATOR) -+#define sq_isnativeclosure(o) ((o)._type==OT_NATIVECLOSURE) -+#define sq_isstring(o) ((o)._type==OT_STRING) -+#define sq_isinteger(o) ((o)._type==OT_INTEGER) -+#define sq_isfloat(o) ((o)._type==OT_FLOAT) -+#define sq_isuserpointer(o) ((o)._type==OT_USERPOINTER) -+#define sq_isuserdata(o) ((o)._type==OT_USERDATA) -+#define sq_isthread(o) ((o)._type==OT_THREAD) -+#define sq_isnull(o) ((o)._type==OT_NULL) -+#define sq_isclass(o) ((o)._type==OT_CLASS) -+#define sq_isinstance(o) ((o)._type==OT_INSTANCE) -+#define sq_isbool(o) ((o)._type==OT_BOOL) -+#define sq_isweakref(o) ((o)._type==OT_WEAKREF) -+#define sq_type(o) ((o)._type) -+ -+/* deprecated */ -+#define sq_createslot(v,n) sq_newslot(v,n,SQFalse) -+ -+#define SQ_OK (0) -+#define SQ_ERROR (-1) -+ -+#define SQ_FAILED(res) (res<0) -+#define SQ_SUCCEEDED(res) (res>=0) -+ -+#ifdef __cplusplus -+} /*extern "C"*/ -+#endif -+ -+#endif /*_SQUIRREL_H_*/ diff -Naur SQUIRREL3.orig/squirrel/sqobject.h.orig SQUIRREL3/squirrel/sqobject.h.orig --- SQUIRREL3.orig/squirrel/sqobject.h.orig 1970-01-01 01:00:00.000000000 +0100 +++ SQUIRREL3/squirrel/sqobject.h.orig 2012-05-02 09:27:55.000000000 +0200
