Removes the code that is supposed to restore magic on leaving the
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Fri, 29 Jun 2007 16:28:34 +0000 (16:28 +0000)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Fri, 29 Jun 2007 16:28:34 +0000 (16:28 +0000)
commitc4a7531db1b7667c9d43fd3494f5bbf4901ff149
tree2d8a0018fcc280a703395bcd79906463032573a8
parent21ebe9a66415474b705d94b2a796a167715876c5
Removes the code that is supposed to restore magic on leaving the
localization of an array or a hash. This fixes some memory leaks.
Basically we were overwriting the magic of the outer value (value
from the outer scope) by the magic of the inner value (therefore making
that outer magic leaking in memory). But that inner magic was created
by mg_localize() by copying *some* of the outer magic. Consequently the
outer value already has that magic. So just keep it and don't bother.

That change might introduce obscure bugs. On the other hand, it might
also cure obscure bugs, related to the inner value acquiring container
magic during its lifetime, or to the outer value loosing non-container
magic. No test in the test suite seems to test that.

p4raw-id: //depot/perl@31505
scope.c