# HG changeset patch # User Colin Macdonald # Date 1466226834 25200 # Node ID 06835a3e33848bd1c6fe2663bdc3909f47fc1a09 # Parent e2e64ee571b7fc0d5be600b218f79ebbfa0a024c pyobject: remove unnecessary forcedelete method * @pyobject/pyobject.m: remove method diff -r e2e64ee571b7 -r 06835a3e3384 @pyobject/pyobject.m --- a/@pyobject/pyobject.m Fri Jun 17 16:13:36 2016 -0700 +++ b/@pyobject/pyobject.m Fri Jun 17 22:13:54 2016 -0700 @@ -63,28 +63,26 @@ end function delete (x) - % called on clear of the last reference---for subclasses of - % handle; not called at all for "value classes". - % FIXME: #46497 this is never called! - %save('proof_of_delete', 6, x.id) - disp ('delete') - % throws KeyError if it wasn't in there for some reason - cmd = sprintf ('__InOct__.pop("%s")', x.id); - pyexec (cmd); - end + # Called on clear of the last reference---for subclasses of + # handle; not called at all for "value classes". + # + # FIXME: #46497 this is never called! + # Workaround: call @code{delete(x)} right before @code{clear x}. But + # be careful, @code{x} needs to be the last reference: don't do this: + # @example + # d = pyobject (...); + # d2 = d; + # delete (d) + # clear d + # d2 + # @print{} ... KeyError ... + # @end example - function force_delete (x) - % Manual workaround for #46497: call right before @code{clear x}. But - % be careful, @code{x} needs to be the last reference: don't do this: - % @example - % d = pyobject (...); - % d2 = d; - % force_delete (d) - % clear d - % d2 - % @print{} ... KeyError ... - % @end example - delete (x) + #disp ("delete") + + # throws KeyError if it wasn't in there for some reason + cmd = sprintf ("__InOct__.pop('%s')", x.id); + pyexec (cmd) end dummy (x)