On 14 August 2016 at 23:12, Aristotle Pagaltzis <pagaltzis@gmx.de> wrote: > * demerphq <demerphq@gmail.com> [2016-08-14 14:24]: >> I have pushed a patch series which moves the Hash::Util related stuff >> out of universal.c, and removes hv_clear_placeholders() from >> Internals. I am pretty sure this should not affect anything sane. > > It seems to have about a dozen actual callers on CPAN: > http://grep.cpan.me/?q=-file%3Appport.h+hv_clear_placeholders One of them is me in DDS. They all follow the same pattern. Someone read the code to Hash::Util and then unrolled what it does to lock keys. Personally I am disinclined to be sympathetic to this type of violation of abstraction layers. But ill do whatever the porters think is best. > It’s not a big effort to send patches for those, but there is enough use > that I assume there must be a small amount of use in the DarkPAN also, > and we can’t patch that. So this seems to call for a whiny placeholder > to get people to switch, which loads and calls Hash::Util for them in > the meantime (like FatherC’s approach with arybase). I dont think that is necessary. hv_clear_placeholders is an internals API call. Having two wrappers, one in Hash::Util and the other in Internals is not a big deal IMO. > Also I guess its deprecation warning should mention which version of > Hash::Util callers need to depend on when they switch, so people don’t > forget to ensure that they do. > > (I didn’t look at the other functions yet, so I can’t say about any of > them. Hopefully they don’t all need stubs.) I honestly think that people should just use the functions in Hash::Util directly and not use hv_clear_placeholders at all. Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"Thread Previous | Thread Next