[Python-modules-commits] [python-lupa] 02/11: New upstream version 1.6+dfsg

Michael Fladischer fladi at moszumanska.debian.org
Mon Jan 8 21:03:07 UTC 2018


This is an automated email from the git hooks/post-receive script.

fladi pushed a commit to branch debian/master
in repository python-lupa.

commit 3819871b635cfe68da50dfaec80f9158dc5bbda7
Author: Michael Fladischer <FladischerMichael at fladi.at>
Date:   Mon Jan 8 21:42:59 2018 +0100

    New upstream version 1.6+dfsg
---
 CHANGES.rst            |    8 +
 LICENSE.txt            |   33 +-
 PKG-INFO               |   62 +-
 lupa.egg-info/PKG-INFO |   62 +-
 lupa/_lupa.c           | 7142 ++++++++++++++++++++++++++++--------------------
 lupa/_lupa.pyx         |  112 +-
 lupa/lua.pxd           |    3 -
 lupa/tests/test.py     |    4 +-
 lupa/version.py        |    2 +-
 setup.py               |    6 +-
 10 files changed, 4370 insertions(+), 3064 deletions(-)

diff --git a/CHANGES.rst b/CHANGES.rst
index 3abd1fa..8a11423 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,6 +1,12 @@
 Lupa change log
 ===============
 
+1.6 (2017-12-15)
+----------------
+
+* GH#95: Improved compatibility with Lua 5.3.
+  (patch by TitanSnow)
+
 1.5 (2017-09-16)
 ----------------
 
@@ -18,6 +24,8 @@ Lupa change log
 * GH#78: Allow Lua code to intercept Python exceptions.
   (patch by Sergey Dobrov)
 
+* Built with Cython 0.26.1.
+
 
 1.4 (2016-12-10)
 ----------------
diff --git a/LICENSE.txt b/LICENSE.txt
index de1967d..71d86ed 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,10 @@
-Copyright (c) 2010 Stefan Behnel. All rights reserved.
+License
+=======
+
+Lupa
+----
+
+Copyright (c) 2010-2017 Stefan Behnel.  All rights reserved.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -17,3 +23,28 @@ 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.
+
+Lua
+---
+
+(See https://www.lua.org/license.html)
+
+Copyright © 1994–2017 Lua.org, PUC-Rio.
+
+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.
diff --git a/PKG-INFO b/PKG-INFO
index 46be1dc..2f3efc1 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: lupa
-Version: 1.5
+Version: 1.6
 Summary: Python wrapper around Lua and LuaJIT
 Home-page: https://github.com/scoder/lupa
 Author: Lupa-dev mailing list
@@ -1075,6 +1075,12 @@ Description: Lupa
         Lupa change log
         ===============
         
+        1.6 (2017-12-15)
+        ----------------
+        
+        * GH#95: Improved compatibility with Lua 5.3.
+          (patch by TitanSnow)
+        
         1.5 (2017-09-16)
         ----------------
         
@@ -1092,6 +1098,8 @@ Description: Lupa
         * GH#78: Allow Lua code to intercept Python exceptions.
           (patch by Sergey Dobrov)
         
+        * Built with Cython 0.26.1.
+        
         
         1.4 (2016-12-10)
         ----------------
@@ -1475,6 +1483,58 @@ Description: Lupa
         
         * first public release
         
+        
+        License
+        =======
+        
+        Lupa
+        ----
+        
+        Copyright (c) 2010-2017 Stefan Behnel.  All rights reserved.
+        
+        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.
+        
+        Lua
+        ---
+        
+        (See https://www.lua.org/license.html)
+        
+        Copyright © 1994–2017 Lua.org, PUC-Rio.
+        
+        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.
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
diff --git a/lupa.egg-info/PKG-INFO b/lupa.egg-info/PKG-INFO
index 46be1dc..2f3efc1 100644
--- a/lupa.egg-info/PKG-INFO
+++ b/lupa.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: lupa
-Version: 1.5
+Version: 1.6
 Summary: Python wrapper around Lua and LuaJIT
 Home-page: https://github.com/scoder/lupa
 Author: Lupa-dev mailing list
@@ -1075,6 +1075,12 @@ Description: Lupa
         Lupa change log
         ===============
         
+        1.6 (2017-12-15)
+        ----------------
+        
+        * GH#95: Improved compatibility with Lua 5.3.
+          (patch by TitanSnow)
+        
         1.5 (2017-09-16)
         ----------------
         
@@ -1092,6 +1098,8 @@ Description: Lupa
         * GH#78: Allow Lua code to intercept Python exceptions.
           (patch by Sergey Dobrov)
         
+        * Built with Cython 0.26.1.
+        
         
         1.4 (2016-12-10)
         ----------------
@@ -1475,6 +1483,58 @@ Description: Lupa
         
         * first public release
         
+        
+        License
+        =======
+        
+        Lupa
+        ----
+        
+        Copyright (c) 2010-2017 Stefan Behnel.  All rights reserved.
+        
+        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.
+        
+        Lua
+        ---
+        
+        (See https://www.lua.org/license.html)
+        
+        Copyright © 1994–2017 Lua.org, PUC-Rio.
+        
+        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.
+        
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
diff --git a/lupa/_lupa.c b/lupa/_lupa.c
index 573c6c5..4ac6ec1 100644
--- a/lupa/_lupa.c
+++ b/lupa/_lupa.c
@@ -1,33 +1,26 @@
-/* Generated by Cython 0.26.1 */
+/* Generated by Cython 0.27.3 */
 
 /* BEGIN: Cython Metadata
 {
     "distutils": {
-        "define_macros": [
-            [
-                "LUA_COMPAT_ALL", 
-                null
-            ], 
-            [
-                "LUA_COMPAT_5_1", 
-                null
-            ]
-        ], 
         "depends": [
-            "lupa/lupa_defs.h", 
-            "third-party/lua/lauxlib.h", 
-            "third-party/lua/lua.h", 
-            "third-party/lua/lualib.h"
-        ], 
+            "/usr/include/luajit-2.0/lauxlib.h",
+            "/usr/include/luajit-2.0/lua.h",
+            "/usr/include/luajit-2.0/lualib.h",
+            "lupa/lupa_defs.h"
+        ],
+        "extra_objects": [
+            "-lluajit-5.1"
+        ],
         "include_dirs": [
-            "./lupa", 
-            "third-party/lua/"
-        ], 
-        "name": "lupa._lupa", 
+            "./lupa",
+            "/usr/include/luajit-2.0"
+        ],
+        "name": "lupa._lupa",
         "sources": [
             "lupa/_lupa.pyx"
         ]
-    }, 
+    },
     "module_name": "lupa._lupa"
 }
 END: Cython Metadata */
@@ -36,10 +29,11 @@ END: Cython Metadata */
 #include "Python.h"
 #ifndef Py_PYTHON_H
     #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000)
-    #error Cython requires Python 2.6+ or Python 3.2+.
+#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
+    #error Cython requires Python 2.6+ or Python 3.3+.
 #else
-#define CYTHON_ABI "0_26_1"
+#define CYTHON_ABI "0_27_3"
+#define CYTHON_FUTURE_DIVISION 0
 #include <stddef.h>
 #ifndef offsetof
   #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
@@ -63,7 +57,7 @@ END: Cython Metadata */
 #endif
 #define __PYX_COMMA ,
 #ifndef HAVE_LONG_LONG
-  #if PY_VERSION_HEX >= 0x03030000 || (PY_MAJOR_VERSION == 2 && PY_VERSION_HEX >= 0x02070000)
+  #if PY_VERSION_HEX >= 0x02070000
     #define HAVE_LONG_LONG
   #endif
 #endif
@@ -81,8 +75,12 @@ END: Cython Metadata */
   #define CYTHON_USE_TYPE_SLOTS 0
   #undef CYTHON_USE_PYTYPE_LOOKUP
   #define CYTHON_USE_PYTYPE_LOOKUP 0
-  #undef CYTHON_USE_ASYNC_SLOTS
-  #define CYTHON_USE_ASYNC_SLOTS 0
+  #if PY_VERSION_HEX < 0x03050000
+    #undef CYTHON_USE_ASYNC_SLOTS
+    #define CYTHON_USE_ASYNC_SLOTS 0
+  #elif !defined(CYTHON_USE_ASYNC_SLOTS)
+    #define CYTHON_USE_ASYNC_SLOTS 1
+  #endif
   #undef CYTHON_USE_PYLIST_INTERNALS
   #define CYTHON_USE_PYLIST_INTERNALS 0
   #undef CYTHON_USE_UNICODE_INTERNALS
@@ -101,6 +99,10 @@ END: Cython Metadata */
   #define CYTHON_FAST_THREAD_STATE 0
   #undef CYTHON_FAST_PYCALL
   #define CYTHON_FAST_PYCALL 0
+  #undef CYTHON_PEP489_MULTI_PHASE_INIT
+  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE 0
 #elif defined(PYSTON_VERSION)
   #define CYTHON_COMPILING_IN_PYPY 0
   #define CYTHON_COMPILING_IN_PYSTON 1
@@ -134,6 +136,10 @@ END: Cython Metadata */
   #define CYTHON_FAST_THREAD_STATE 0
   #undef CYTHON_FAST_PYCALL
   #define CYTHON_FAST_PYCALL 0
+  #undef CYTHON_PEP489_MULTI_PHASE_INIT
+  #define CYTHON_PEP489_MULTI_PHASE_INIT 0
+  #undef CYTHON_USE_TP_FINALIZE
+  #define CYTHON_USE_TP_FINALIZE 0
 #else
   #define CYTHON_COMPILING_IN_PYPY 0
   #define CYTHON_COMPILING_IN_PYSTON 0
@@ -186,6 +192,12 @@ END: Cython Metadata */
   #ifndef CYTHON_FAST_PYCALL
     #define CYTHON_FAST_PYCALL 1
   #endif
+  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
+    #define CYTHON_PEP489_MULTI_PHASE_INIT (0 && PY_VERSION_HEX >= 0x03050000)
+  #endif
+  #ifndef CYTHON_USE_TP_FINALIZE
+    #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
+  #endif
 #endif
 #if !defined(CYTHON_FAST_PYCCALL)
 #define CYTHON_FAST_PYCCALL  (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
@@ -241,6 +253,27 @@ END: Cython Metadata */
 #else
 #define __Pyx_PyFastCFunction_Check(func) 0
 #endif
+#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#elif PY_VERSION_HEX >= 0x03060000
+  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
+#elif PY_VERSION_HEX >= 0x03000000
+  #define __Pyx_PyThreadState_Current PyThreadState_GET()
+#else
+  #define __Pyx_PyThreadState_Current _PyThreadState_Current
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
+#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
+#else
+#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
+#endif
+#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
+#else
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
+#endif
 #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
   #define CYTHON_PEP393_ENABLED 1
   #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
@@ -324,7 +357,6 @@ END: Cython Metadata */
 #ifndef PySet_CheckExact
   #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
 #endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
 #if PY_MAJOR_VERSION >= 3
   #define PyIntObject                  PyLongObject
@@ -375,15 +407,17 @@ END: Cython Metadata */
     #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
     #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
   #else
+    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
+  #endif
+#else
+  #define __Pyx_PyType_AsAsync(obj) NULL
+#endif
+#ifndef __Pyx_PyAsyncMethodsStruct
     typedef struct {
         unaryfunc am_await;
         unaryfunc am_aiter;
         unaryfunc am_anext;
     } __Pyx_PyAsyncMethodsStruct;
-    #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
-  #endif
-#else
-  #define __Pyx_PyType_AsAsync(obj) NULL
 #endif
 #ifndef CYTHON_RESTRICT
   #if defined(__GNUC__)
@@ -438,20 +472,28 @@ END: Cython Metadata */
    #include <stdint.h>
 #endif
 #ifndef CYTHON_FALLTHROUGH
-  #ifdef __cplusplus
+  #if defined(__cplusplus) && __cplusplus >= 201103L
     #if __has_cpp_attribute(fallthrough)
       #define CYTHON_FALLTHROUGH [[fallthrough]]
     #elif __has_cpp_attribute(clang::fallthrough)
       #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
+    #elif __has_cpp_attribute(gnu::fallthrough)
+      #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
     #endif
   #endif
   #ifndef CYTHON_FALLTHROUGH
-    #if __has_attribute(fallthrough) || (defined(__GNUC__) && defined(__attribute__))
+    #if __has_attribute(fallthrough)
       #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
     #else
       #define CYTHON_FALLTHROUGH
     #endif
   #endif
+  #if defined(__clang__ ) && defined(__apple_build_version__)
+    #if __apple_build_version__ < 7000000
+      #undef  CYTHON_FALLTHROUGH
+      #define CYTHON_FALLTHROUGH
+    #endif
+  #endif
 #endif
 
 #ifndef CYTHON_INLINE
@@ -493,14 +535,6 @@ static CYTHON_INLINE float __PYX_NAN() {
   __pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \
 }
 
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
 #ifndef __PYX_EXTERN_C
   #ifdef __cplusplus
     #define __PYX_EXTERN_C extern "C"
@@ -511,11 +545,11 @@ static CYTHON_INLINE float __PYX_NAN() {
 
 #define __PYX_HAVE__lupa___lupa
 #define __PYX_HAVE_API__lupa___lupa
+#include <string.h>
 #include "lua.h"
 #include "lauxlib.h"
 #include "lualib.h"
 #include "lupa_defs.h"
-#include <string.h>
 #include <stdio.h>
 #include <stdint.h>
 #include "pythread.h"
@@ -523,7 +557,7 @@ static CYTHON_INLINE float __PYX_NAN() {
 #include <omp.h>
 #endif /* _OPENMP */
 
-#ifdef PYREX_WITHOUT_ASSERTIONS
+#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
 #define CYTHON_WITHOUT_ASSERTIONS
 #endif
 
@@ -554,8 +588,8 @@ typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* enc
     #define __Pyx_sst_abs(value) abs(value)
 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
     #define __Pyx_sst_abs(value) labs(value)
-#elif defined (_MSC_VER) && defined (_M_X64)
-    #define __Pyx_sst_abs(value) _abs64(value)
+#elif defined (_MSC_VER)
+    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
     #define __Pyx_sst_abs(value) llabs(value)
 #elif defined (__GNUC__)
@@ -577,6 +611,12 @@ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
     #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
     #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
 #endif
+#define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
+#define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
 #define __Pyx_PyObject_AsWritableString(s)    ((char*) __Pyx_PyObject_AsString(s))
 #define __Pyx_PyObject_AsWritableSString(s)    ((signed char*) __Pyx_PyObject_AsString(s))
 #define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
@@ -587,16 +627,11 @@ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
 #define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
 #define __Pyx_PyStr_FromCString(s)     __Pyx_PyStr_FromString((const char*)s)
 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
-#if PY_MAJOR_VERSION < 3
-static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
-{
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
     const Py_UNICODE *u_end = u;
     while (*u_end++) ;
     return (size_t)(u_end - u - 1);
 }
-#else
-#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
-#endif
 #define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
 #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
 #define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
@@ -605,6 +640,8 @@ static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
 #define __Pyx_PyBool_FromLong(b) ((b) ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False))
 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
+#define __Pyx_PySequence_Tuple(obj)\
+    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
 #if CYTHON_ASSUME_SAFE_MACROS
@@ -705,7 +742,7 @@ bad:
 #endif /* __GNUC__ */
 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
 
-static PyObject *__pyx_m;
+static PyObject *__pyx_m = NULL;
 static PyObject *__pyx_d;
 static PyObject *__pyx_b;
 static PyObject *__pyx_cython_runtime;
@@ -726,6 +763,18 @@ static const char *__pyx_f[] = {
   "bool.pxd",
   "complex.pxd",
 };
+/* NoFastGil.proto */
+#define __Pyx_PyGILState_Ensure PyGILState_Ensure
+#define __Pyx_PyGILState_Release PyGILState_Release
+#define __Pyx_FastGIL_Remember()
+#define __Pyx_FastGIL_Forget()
+#define __Pyx_FastGilFuncInit()
+
+/* ForceInitThreads.proto */
+#ifndef __PYX_FORCE_INIT_THREADS
+  #define __PYX_FORCE_INIT_THREADS 0
+#endif
+
 
 /*--- Type declarations ---*/
 struct __pyx_obj_4lupa_5_lupa_FastRLock;
@@ -743,7 +792,7 @@ struct __pyx_t_4lupa_5_lupa_py_object;
 struct __pyx_opt_args_4lupa_5_lupa_py_to_lua;
 struct __pyx_opt_args_4lupa_5_lupa_push_lua_arguments;
 
-/* "lupa/_lupa.pyx":49
+/* "lupa/_lupa.pyx":50
  * cdef int IS_PY2 = PY_MAJOR_VERSION == 2
  * 
  * cdef enum WrappedObjectFlags:             # <<<<<<<<<<<<<<
@@ -756,7 +805,7 @@ enum __pyx_t_4lupa_5_lupa_WrappedObjectFlags {
   __pyx_e_4lupa_5_lupa_OBJ_ENUMERATOR = 4
 };
 
-/* "lupa/_lupa.pyx":935
+/* "lupa/_lupa.pyx":936
  * 
  * 
  * cdef enum:             # <<<<<<<<<<<<<<
@@ -769,7 +818,7 @@ enum  {
   __pyx_e_4lupa_5_lupa_ITEMS = 3
 };
 
-/* "lupa/_lupa.pyx":55
+/* "lupa/_lupa.pyx":56
  *     OBJ_ENUMERATOR = 4 # iteration uses native enumerate() implementation
  * 
  * cdef struct py_object:             # <<<<<<<<<<<<<<
@@ -782,7 +831,7 @@ struct __pyx_t_4lupa_5_lupa_py_object {
   int type_flags;
 };
 
-/* "lupa/_lupa.pyx":1139
+/* "lupa/_lupa.pyx":1140
  *      return py_to_lua(runtime, L, o)
  * 
  * cdef int py_to_lua(LuaRuntime runtime, lua_State *L, object o, bint wrap_none=False) except -1:             # <<<<<<<<<<<<<<
@@ -794,7 +843,7 @@ struct __pyx_opt_args_4lupa_5_lupa_py_to_lua {
   int wrap_none;
 };
 
-/* "lupa/_lupa.pyx":1316
+/* "lupa/_lupa.pyx":1317
  *     return results
  * 
  * cdef int push_lua_arguments(LuaRuntime runtime, lua_State *L,             # <<<<<<<<<<<<<<
@@ -823,7 +872,7 @@ struct __pyx_obj_4lupa_5_lupa_FastRLock {
 };
 
 
-/* "lupa/_lupa.pyx":109
+/* "lupa/_lupa.pyx":110
  * 
  * @cython.no_gc_clear
  * cdef class LuaRuntime:             # <<<<<<<<<<<<<<
@@ -846,7 +895,7 @@ struct __pyx_obj_4lupa_5_lupa_LuaRuntime {
 };
 
 
-/* "lupa/_lupa.pyx":502
+/* "lupa/_lupa.pyx":503
  * @cython.no_gc_clear
  * @cython.freelist(16)
  * cdef class _LuaObject:             # <<<<<<<<<<<<<<
@@ -862,7 +911,7 @@ struct __pyx_obj_4lupa_5_lupa__LuaObject {
 };
 
 
-/* "lupa/_lupa.pyx":685
+/* "lupa/_lupa.pyx":686
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaTable(_LuaObject):             # <<<<<<<<<<<<<<
@@ -874,7 +923,7 @@ struct __pyx_obj_4lupa_5_lupa__LuaTable {
 };
 
 
-/* "lupa/_lupa.pyx":776
+/* "lupa/_lupa.pyx":777
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaFunction(_LuaObject):             # <<<<<<<<<<<<<<
@@ -886,7 +935,7 @@ struct __pyx_obj_4lupa_5_lupa__LuaFunction {
 };
 
 
-/* "lupa/_lupa.pyx":815
+/* "lupa/_lupa.pyx":816
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaCoroutineFunction(_LuaFunction):             # <<<<<<<<<<<<<<
@@ -898,7 +947,7 @@ struct __pyx_obj_4lupa_5_lupa__LuaCoroutineFunction {
 };
 
 
-/* "lupa/_lupa.pyx":830
+/* "lupa/_lupa.pyx":831
  * @cython.internal
  * @cython.no_gc_clear   # FIXME: get rid if this
  * cdef class _LuaThread(_LuaObject):             # <<<<<<<<<<<<<<
@@ -912,7 +961,7 @@ struct __pyx_obj_4lupa_5_lupa__LuaThread {
 };
 
 
-/* "lupa/_lupa.pyx":944
+/* "lupa/_lupa.pyx":945
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaIter:             # <<<<<<<<<<<<<<
@@ -929,7 +978,7 @@ struct __pyx_obj_4lupa_5_lupa__LuaIter {
 };
 
 
-/* "lupa/_lupa.pyx":1055
+/* "lupa/_lupa.pyx":1056
  * @cython.internal
  * @cython.freelist(8)
  * cdef class _PyProtocolWrapper:             # <<<<<<<<<<<<<<
@@ -943,7 +992,7 @@ struct __pyx_obj_4lupa_5_lupa__PyProtocolWrapper {
 };
 
 
-/* "lupa/_lupa.pyx":415
+/* "lupa/_lupa.pyx":416
  * # from Lua scripts
  * 
  * def unpacks_lua_table(func):             # <<<<<<<<<<<<<<
@@ -956,7 +1005,7 @@ struct __pyx_obj_4lupa_5_lupa___pyx_scope_struct__unpacks_lua_table {
 };
 
 
-/* "lupa/_lupa.pyx":441
+/* "lupa/_lupa.pyx":442
  * 
  * 
  * def unpacks_lua_table_method(meth):             # <<<<<<<<<<<<<<
@@ -970,7 +1019,7 @@ struct __pyx_obj_4lupa_5_lupa___pyx_scope_struct_1_unpacks_lua_table_method {
 
 
 
-/* "lupa/_lupa.pyx":109
+/* "lupa/_lupa.pyx":110
  * 
  * @cython.no_gc_clear
  * cdef class LuaRuntime:             # <<<<<<<<<<<<<<
@@ -991,7 +1040,7 @@ static int __pyx_f_4lupa_5_lupa_10LuaRuntime_register_py_object(struct __pyx_obj
 static int __pyx_f_4lupa_5_lupa_10LuaRuntime_init_python_lib(struct __pyx_obj_4lupa_5_lupa_LuaRuntime *, int, int);
 
 
-/* "lupa/_lupa.pyx":502
+/* "lupa/_lupa.pyx":503
  * @cython.no_gc_clear
  * @cython.freelist(16)
  * cdef class _LuaObject:             # <<<<<<<<<<<<<<
@@ -1010,7 +1059,7 @@ static size_t __pyx_f_4lupa_5_lupa_10_LuaObject__len(struct __pyx_obj_4lupa_5_lu
 static PyObject *__pyx_f_4lupa_5_lupa_10_LuaObject__getitem(struct __pyx_obj_4lupa_5_lupa__LuaObject *, PyObject *, int);
 
 
-/* "lupa/_lupa.pyx":685
+/* "lupa/_lupa.pyx":686
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaTable(_LuaObject):             # <<<<<<<<<<<<<<
@@ -1028,7 +1077,7 @@ static int __pyx_f_4lupa_5_lupa_9_LuaTable__setitem(struct __pyx_obj_4lupa_5_lup
 static PyObject *__pyx_f_4lupa_5_lupa_9_LuaTable__delitem(struct __pyx_obj_4lupa_5_lupa__LuaTable *, PyObject *);
 
 
-/* "lupa/_lupa.pyx":776
+/* "lupa/_lupa.pyx":777
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaFunction(_LuaObject):             # <<<<<<<<<<<<<<
@@ -1042,7 +1091,7 @@ struct __pyx_vtabstruct_4lupa_5_lupa__LuaFunction {
 static struct __pyx_vtabstruct_4lupa_5_lupa__LuaFunction *__pyx_vtabptr_4lupa_5_lupa__LuaFunction;
 
 
-/* "lupa/_lupa.pyx":815
+/* "lupa/_lupa.pyx":816
  * @cython.internal
  * @cython.no_gc_clear
  * cdef class _LuaCoroutineFunction(_LuaFunction):             # <<<<<<<<<<<<<<
@@ -1056,7 +1105,7 @@ struct __pyx_vtabstruct_4lupa_5_lupa__LuaCoroutineFunction {
 static struct __pyx_vtabstruct_4lupa_5_lupa__LuaCoroutineFunction *__pyx_vtabptr_4lupa_5_lupa__LuaCoroutineFunction;
 
 
-/* "lupa/_lupa.pyx":830
+/* "lupa/_lupa.pyx":831
  * @cython.internal
  * @cython.no_gc_clear   # FIXME: get rid if this
  * cdef class _LuaThread(_LuaObject):             # <<<<<<<<<<<<<<
@@ -1157,7 +1206,7 @@ static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
     Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
 
 /* KeywordStringCheck.proto */
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);
+static int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed);
 
 /* RaiseDoubleKeywords.proto */
 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
@@ -1177,23 +1226,35 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
 /* PyThreadStateGet.proto */
 #if CYTHON_FAST_THREAD_STATE
 #define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
-#define __Pyx_PyThreadState_assign  __pyx_tstate = PyThreadState_GET();
+#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
+#define __Pyx_PyErr_Occurred()  __pyx_tstate->curexc_type
 #else
 #define __Pyx_PyThreadState_declare
 #define __Pyx_PyThreadState_assign
+#define __Pyx_PyErr_Occurred()  PyErr_Occurred()
 #endif
 
 /* PyErrFetchRestore.proto */
 #if CYTHON_FAST_THREAD_STATE
+#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
 #define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
 #define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
 #define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
 #define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
+#else
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
+#endif
 #else
+#define __Pyx_PyErr_Clear() PyErr_Clear()
+#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
 #define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
 #define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
+#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
+#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
 #define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
 #define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
 #endif
@@ -1201,13 +1262,6 @@ static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject
 /* RaiseException.proto */
 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
 
-/* NoFastGil.proto */
-#define __Pyx_PyGILState_Ensure PyGILState_Ensure
-#define __Pyx_PyGILState_Release PyGILState_Release
-#define __Pyx_FastGIL_Remember()
-#define __Pyx_FastGIL_Forget()
-#define __Pyx_FastGilFuncInit()
-
 /* IncludeStringH.proto */
 #include <string.h>
 
@@ -1309,7 +1363,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_
     (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                               int wraparound, int boundscheck);
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                      int is_list, int wraparound, int boundscheck);
 
@@ -1356,8 +1410,16 @@ static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
 static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
 
 /* UnpackTuple2.proto */
-static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** value1, PyObject** value2,
-                                             int is_tuple, int has_known_size, int decref_tuple);
+#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
+    (likely(is_tuple || PyTuple_Check(tuple)) ?\
+        (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
+            __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
+            (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
+        __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
+static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
+    PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
+static int __Pyx_unpack_tuple2_generic(
+    PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);
 
 /* dict_iter.proto */
 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
@@ -1472,8 +1534,8 @@ static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval,
 #endif
 
 /* unicode_tailmatch.proto */
-static int __Pyx_PyUnicode_Tailmatch(PyObject* s, PyObject* substr,
-                                     Py_ssize_t start, Py_ssize_t end, int direction);
+static int __Pyx_PyUnicode_Tailmatch(
+    PyObject* s, PyObject* substr, Py_ssize_t start, Py_ssize_t end, int direction);
 
 /* bytes_tailmatch.proto */
 static int __Pyx_PyBytes_SingleTailmatch(PyObject* self, PyObject* arg,
@@ -1485,8 +1547,10 @@ static int __Pyx_PyBytes_Tailmatch(PyObject* self, PyObject* substr,
 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
 
 /* ArgTypeTest.proto */
-static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact);
+#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
+    ((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
+        __Pyx__ArgTypeTest(obj, type, name, exact))
+static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
 
 /* GetAttr.proto */
 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
@@ -1519,6 +1583,7 @@ static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
 
 /* PyObjectCallMethod1.proto */
 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
+static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg);
 
 /* append.proto */
 static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);
@@ -1544,11 +1609,6 @@ static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
     #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
 #endif
 
-/* ForceInitThreads.proto */
-#ifndef __PYX_FORCE_INIT_THREADS
-  #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
 /* pop.proto */
 static CYTHON_INLINE PyObject* __Pyx__PyObject_Pop(PyObject* L);
 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
@@ -1615,7 +1675,11 @@ static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObj
                                       PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
 
 /* CLineInTraceback.proto */
-static int __Pyx_CLineForTraceback(int c_line);
+#ifdef CYTHON_CLINE_IN_TRACEBACK
+#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
+#else
+static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
+#endif
 
 /* CodeObjectCache.proto */
 typedef struct {
@@ -1651,6 +1715,18 @@ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *);
 /* CIntFromPy.proto */
 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
 
+/* FastTypeChecks.proto */
+#if CYTHON_COMPILING_IN_CPYTHON
+#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
+static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
+static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
+#else
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
+#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
+#endif
+
 /* CheckBinaryVersion.proto */
 static int __Pyx_check_binary_version(void);
 
@@ -1684,12 +1760,12 @@ static PyObject *__pyx_f_4lupa_5_lupa_9_LuaTable__delitem(struct __pyx_obj_4lupa
 
 /* Module declarations from 'cython' */
 
+/* Module declarations from 'libc.string' */
+
 /* Module declarations from 'lupa' */
 
 /* Module declarations from 'lupa.lua' */
 
-/* Module declarations from 'libc.string' */
-
 /* Module declarations from 'libc.stdio' */
 
 /* Module declarations from '__builtin__' */
@@ -1790,8 +1866,8 @@ static PyObject *__pyx_v_4lupa_5_lupa_Mapping = 0;
 static PyObject *__pyx_v_4lupa_5_lupa_wraps = 0;
 static PyObject *__pyx_v_4lupa_5_lupa_builtins = 0;
 static int __pyx_v_4lupa_5_lupa_IS_PY2;
-static luaL_Reg __pyx_v_4lupa_5_lupa_py_object_lib[6];
-static luaL_Reg __pyx_v_4lupa_5_lupa_py_lib[7];
+static luaL_Reg *__pyx_v_4lupa_5_lupa_py_object_lib;
+static luaL_Reg *__pyx_v_4lupa_5_lupa_py_lib;
 static CYTHON_INLINE int __pyx_f_4lupa_5_lupa_lock_lock(struct __pyx_obj_4lupa_5_lupa_FastRLock *, long, int); /*proto*/
 static int __pyx_f_4lupa_5_lupa__acquire_lock(struct __pyx_obj_4lupa_5_lupa_FastRLock *, long, int); /*proto*/
 static CYTHON_INLINE void __pyx_f_4lupa_5_lupa_unlock_lock(struct __pyx_obj_4lupa_5_lupa_FastRLock *); /*proto*/
@@ -1855,7 +1931,13 @@ static int __pyx_f_4lupa_5_lupa_py_iter_with_gil(lua_State *, struct __pyx_t_4lu
 static int __pyx_f_4lupa_5_lupa_py_push_iterator(struct __pyx_obj_4lupa_5_lupa_LuaRuntime *, lua_State *, PyObject *, int, lua_Number); /*proto*/
 static int __pyx_f_4lupa_5_lupa_py_iter_next(lua_State *); /*proto*/
 static int __pyx_f_4lupa_5_lupa_py_iter_next_with_gil(lua_State *, struct __pyx_t_4lupa_5_lupa_py_object *); /*proto*/
+static void __pyx_f_4lupa_5_lupa_luaL_setfuncs(lua_State *, luaL_Reg const *, int); /*proto*/
+static int __pyx_f_4lupa_5_lupa_libsize(luaL_Reg const *); /*proto*/
+static char const *__pyx_f_4lupa_5_lupa_luaL_findtable(lua_State *, int, char const *, int); /*proto*/
+static void __pyx_f_4lupa_5_lupa_luaL_pushmodule(lua_State *, char const *, int); /*proto*/
+static void __pyx_f_4lupa_5_lupa_luaL_openlib(lua_State *, char const *, luaL_Reg const *, int); /*proto*/
 #define __Pyx_MODULE_NAME "lupa._lupa"
+extern int __pyx_module_is_main_lupa___lupa;
 int __pyx_module_is_main_lupa___lupa = 0;
 
 /* Implementation of 'lupa._lupa' */
@@ -2574,7 +2656,7 @@ static int __pyx_pf_4lupa_5_lupa_9FastRLock___cinit__(struct __pyx_obj_4lupa_5_l
... 22021 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-lupa.git



More information about the Python-modules-commits mailing list