diff --git a/Examples/test-suite/python/kwargs.i b/Examples/test-suite/python/kwargs.i index 3e281a5c8..21f6ea8b1 100644 --- a/Examples/test-suite/python/kwargs.i +++ b/Examples/test-suite/python/kwargs.i @@ -2,9 +2,10 @@ %kwargs; +%rename(myDel) del; %inline { - struct s { int a; }; + struct s { int del; }; } diff --git a/Source/Modules/lang.cxx b/Source/Modules/lang.cxx index 2f71727c1..2c4bc4fa3 100644 --- a/Source/Modules/lang.cxx +++ b/Source/Modules/lang.cxx @@ -1270,6 +1270,7 @@ Language::membervariableHandler(Node *n) { } Swig_MembersetToFunction(n,ClassType, flags); + Setattr(n,"memberset", "1"); if (!Extend) { /* Check for a member in typemap here */ @@ -1320,6 +1321,7 @@ Language::membervariableHandler(Node *n) { Swig_MembergetToFunction(n,ClassType, flags); Setattr(n,"sym:name", mrename_get); + Setattr(n,"memberget", "1"); functionWrapper(n); } Delete(mrename_get); diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx index 33e9ef303..7f6582978 100644 --- a/Source/Modules/python.cxx +++ b/Source/Modules/python.cxx @@ -1269,7 +1269,9 @@ public: * ------------------------------------------------------------ */ int check_kwargs(Node *n) { - return (use_kw || GetFlag(n,"feature:kwargs")); + return (use_kw || GetFlag(n,"feature:kwargs")) + && !GetFlag(n,"memberset") && !GetFlag(n,"memberget") + && !checkAttribute(n,"nodeType","destructor"); }