198 Commits

Author SHA1 Message Date
rdb
f3094043df Fix left shift in Python (LP bug #1289475) 2014-10-19 15:50:54 +00:00
rdb
31a71c990d Fix issues with OS X 10.9 compilation, fix issues uncovered by clang 2014-10-12 18:45:37 +00:00
rdb
902bedc314 Fix Python 3 crash on Windows, and fix some Python 3-related compile errors 2014-10-10 13:45:05 +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
778b4390f4 Temporary fix for Python 3 compilation error 2014-09-21 13:37:32 +00:00
rdb
c178aba639 Add property support to interrogate (using MAKE_PROPERTY or using published members) 2014-09-19 15:23:52 +00:00
rdb
a044561be5 *Always* check for exceptions in C++ methods, otherwise we miss important exceptions thrown in Python code called by C++ methods (like SystemExit!) 2014-08-26 21:01:12 +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
3e974abf5d Fix silly bug with longs 2014-07-23 17:41:22 +00:00
rdb
f02662d4e0 Improve interrogate code readability, use METH_STATIC for static methods, support anonymous enums 2014-07-22 20:06:59 +00:00
rdb
c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb
634190281d Support __pow__ in interrogate 2014-06-11 17:17:45 +00:00
rdb
5b967671fa Fix Python 3 build issue with iterator extensions 2014-05-23 13:42:26 +00:00
rdb
d5d5de1d7e Make iterators work with interrogate by mapping None to NULL for the iternext method. Not the best solution, but is easy and fits most use cases. 2014-03-27 15:15:58 +00:00
rdb
ae4bddd7f7 Fix Python 3 compile issue 2014-03-09 01:00:23 +00:00
rdb
c213712600 fix windows build when the module is in different dll than the library defs 2014-02-20 18:38:35 +00:00
rdb
5f2c0a6e04 Big commit aiding in separation of Python bindings:
* Most extension functions have been moved to C++.
 * In makepanda, Python bindings are compiled into panda3d/<module>.pyd.
2014-02-20 13:33:26 +00:00
rdb
f29c4681e1 Fix broken Python 3 support. 2013-12-17 17:42:16 +00:00
rdb
7926a5fa7b backward compatibility with Python 2.7 2013-10-27 18:51:20 +00:00
rdb
cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
rdb
8fff339477 A lot of code cleanup 2013-09-01 15:05:43 +00:00
David Rose
5178fb9523 fix problem with infinite recursion on coercion within constructors 2013-03-25 15:15:08 +00:00
rdb
a9014cf933 reenable tp_richcompare (thanks David) 2013-02-20 10:44:48 +00:00
David Rose
53b472756b fix rich compare 2013-02-20 00:37:12 +00:00
rdb
da44b3ae3b oops, disable broken rich compare for now 2013-02-19 19:21:41 +00:00
rdb
0f8361d730 Fix compile errors with Python 2 2013-02-18 12:28:52 +00:00
rdb
192d10b937 Experimental Python 3 support to the C++ code including interrogate. Also adds support for rich comparison in interrogate. 2013-02-16 19:22:26 +00:00
David Rose
9294ea77f7 interrogate supports wchar_t * and L"foo" 2011-11-29 23:25:23 +00:00
David Rose
134e9a9e92 dual names for interrogate 2011-10-11 00:45:51 +00:00
David Rose
6bed0cf394 bool should return a bool 2011-09-28 17:42:46 +00:00
rdb
319b8c4cb1 More stuff related to extensions 2011-01-03 08:25:13 +00:00
David Rose
d51e49516a allow __py__ functions for python-only optimizations 2010-06-16 21:57:37 +00:00
David Rose
aa76a9f59d support class method versions of MAKE_SEQ 2010-06-13 22:03:46 +00:00
David Rose
bb96117de2 interrogate fix for ode::get_id() 2010-05-25 21:12:44 +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
f6f9e269f4 introduce stdpy.pickle module with support for common-node NodePaths within a pickle stream 2010-02-10 19:43:58 +00:00
David Rose
816ddc0387 low-level support for python copy and pickle modules 2009-12-10 01:09:06 +00:00
David Rose
1d3719ccb7 add tinyxml.h, fix char *NULL return value case 2009-10-13 21:28:18 +00:00
David Rose
8f5102d889 interrogate fix 2009-09-30 22:35:58 +00:00
David Rose
383a6e512c support tinyxml's (const string *) return types. 2009-08-11 17:24:56 +00:00
David Rose
1db044ca4e add hash(Filename) 2009-08-07 15:27:58 +00:00
David Rose
0e773c8684 respect __nonzero__ 2009-08-05 21:51:28 +00:00
David Rose
70e1e46a61 coercion memory leak fix, part 1 2009-06-10 14:33:44 +00:00
David Rose
2982ca3187 python 2.4 2009-02-19 00:38:44 +00:00
David Rose
221862b432 squelch compiler warnings about (char *) 2009-02-18 23:27:04 +00:00
David Rose
f477db0b19 might as well expose int and float typecasts, too 2009-01-20 19:51:31 +00:00
David Rose
a6f4fb2377 operator bool () -> __nonzero__() 2009-01-20 03:17:44 +00:00
David Rose
4cd50fa68d fix performance issues with implicit parameter coercion 2009-01-07 20:05:57 +00:00
David Rose
1462bee771 better Filename usage 2008-11-11 23:28:14 +00:00
David Rose
587f000ab5 correct prototype for setitem 2008-11-08 16:55:57 +00:00