Remove SwigPyObject_print and SwigPyObject_str, and make the generated wrapper use the default python implementations, which will fall back to repr (for -builtin option).
Advantages:
- it avoids the swig user having to jump through hoops to get print to
work as expected when redefining repr/str slots.
- typing the name of a variable on the python prompt now prints the
result of a (possibly redefined) repr, without the swig user having to
do any extra work.
- when redefining repr, the swig user doesn't necessarily have to
redefine str as it will call the redefined repr
- the behaviour is exactly the same as without the -builtin option while
requiring no extra work by the user (aside from adding the
%feature("python:slot...) statements of course)
- the patch simplifies pyrun.swg a tiny bit.
Disadvantage:
- default str() will give different (but clearer?) output on swigged
classes compared to unpatched swig
SF Bug #326
This commit is contained in:
parent
a0af86811d
commit
a495b5a985
3 changed files with 21 additions and 32 deletions
|
|
@ -67,10 +67,8 @@
|
|||
#define PySwigObject_next SwigPyObject_next
|
||||
#define PySwigObject_oct SwigPyObject_oct
|
||||
#define PySwigObject_own SwigPyObject_own
|
||||
#define PySwigObject_print SwigPyObject_print
|
||||
#define PySwigObject_repr SwigPyObject_repr
|
||||
#define PySwigObject_richcompare SwigPyObject_richcompare
|
||||
#define PySwigObject_str SwigPyObject_str
|
||||
#define PySwigObject_type SwigPyObject_type
|
||||
#define PySwigPacked SwigPyPacked
|
||||
#define PySwigPacked_Check SwigPyPacked_Check
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue