Commit Graph

90 Commits

Author SHA1 Message Date
rdb 69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb 96d237377b interrogate: add various sequence/mapping methods to seq/map property 2017-11-05 18:01:39 +01:00
rdb 0c0f9adab9 Support coroutines and async/await in the task manager and loader 2017-10-31 18:56:41 +01:00
rdb 1583196022 pystub: fix faulty definition of PyTuple_Type symbol 2017-09-19 19:41:18 +02:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb 65a705217e Compile fixes for older Python 3 versions 2017-05-14 23:14:37 +02:00
rdb a387fb9f35 interrogate: nullptr handling, faster kwargs handling in some cases 2017-05-14 22:19:25 +02:00
rdb 218ad7058d pystub: definitions for debug version of Python 2017-02-09 23:50:14 +01:00
rdb 9c789db918 Compile fix for Python 3.2 2016-12-25 23:58:08 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb ef72a0a410 Merge branch 'release/1.9.x' 2016-02-11 19:09:25 +01:00
rdb bb684b2a07 Fix a few issues with obscure CPython-based deployments 2016-02-09 12:33:57 +01:00
rdb 50d2e8324e Merge branch 'release/1.9.x'
Conflicts:
	.travis.yml
	direct/src/directtools/DirectLights.py
	panda/src/nativenet/buffered_datagramconnection.h
2015-12-06 22:32:12 +01:00
rdb 287c44ce53 Various fixes for Python 3 versions before Python 3.3 2015-12-06 22:05:44 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb b2f73d0877 Merge branch 'master' into interrogate-overhaul 2015-02-08 12:11:19 +01:00
rdb 028c09add5 Implicit cast string to InternalName in c++, also optimize for string literals 2015-02-07 16:43:25 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb 861234c349 Bunch of minor compile fixes and changes 2014-11-26 13:33:10 +00:00
rdb 24386cdc1e Use a table to make InternalName::make more efficient for Python interned strings 2014-10-02 18:28:06 +00:00
rdb e468b293d1 Fix a longstanding memory leak in certain interrogate exception handlers.
Raise MemoryError when constructor returns NULL.
Properly check argument count of constructors that take no arguments.
2014-08-26 17:17:37 +00:00
rdb c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb 5dae464394 Add integer vectors. Also add __pow__ operator to vectors. 2014-06-11 18:01:50 +00:00
rdb a10bbe9c9e One more pystub symbol for Python 3 that's used in direct 2013-12-23 21:06:20 +00:00
rdb 634c3c5a0a Stubs for Python 3 functions 2013-12-17 15:03:30 +00:00
rdb 0d656a6848 fix typo. thanks to heek_ 2013-09-19 08:04:15 +00:00
rdb b7b9adfd35 compile fixes 2013-09-18 23:35:15 +00:00
rdb d4d93c5d3f Add PyExc_Exception 2013-03-07 11:04:19 +00:00
rdb e1fda64ad3 add PyObject_RichCompareBool 2013-03-06 18:15:12 +00:00
rdb c5bc7790ae Add PyLong_AsSsize_t 2013-02-19 22:41:38 +00:00
rdb f3c2b51084 Add PyUnicode_FromStringAndSize 2013-02-19 19:01:43 +00:00
David Rose 97f805b24a pystub should be a static library for better portability, especially for dynamic loaders that aren't so awesome. 2012-06-20 21:41:49 +00:00
David Rose 646f12f625 squelch backtrace on SystemExit 2012-02-16 00:19:09 +00:00
David Rose dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 2011-12-06 02:39:21 +00:00
rdb 3414a4ff1c add PyBool_FromLong to pystub, apparently it's needed to compile on FreeBSD 8.2 2011-09-19 17:23:13 +00:00
rdb 71ddd9de3b Add missing PyList_Type 2011-01-23 19:33:42 +00:00
rdb b18fd7d192 Add missing symbols to pystub hopefully to stop the buildbots' error diarrhoea 2010-12-24 19:57:26 +00:00
Chris Brunner b709455d4e support for PyObject_Compare 2010-06-23 00:35:57 +00:00
rdb c957b42580 Fix compilation issue on Linux (dunno where it came from) 2010-05-25 15:27:15 +00:00
David Rose a942ce5fbf lists and strings will be automatically coerced into a PTA_blah 2010-02-11 22:38:34 +00:00
David Rose 816ddc0387 low-level support for python copy and pickle modules 2009-12-10 01:09:06 +00:00
rdb e545c9193e Forgot PyList_GetItem 2009-07-19 10:06:54 +00:00
rdb 36d663ff98 Better solution for MAIN_DIR: read out sys.argv 2009-07-19 09:52:43 +00:00
rdb 99df904c89 Add missing PyEval_CallObjectWithKeywords 2009-06-28 12:23:13 +00:00
David Rose c5f3c844e1 PyExc_StandardError 2009-04-28 00:44:58 +00:00
David Rose e4d6159667 PyErr_WarnEx 2009-02-17 19:20:53 +00:00
David Rose 0ec1467ea9 warnings 2009-02-15 01:44:54 +00:00
rdb d078e16236 added PyInt_AsSsize_t (to fix build errors 2008-11-08 15:16:37 +00:00