(perl #128263) handle PL_last_in_gv being &PL_sv_undef
authorTony Cook <tony@develop-help.com>
Thu, 31 Aug 2017 00:05:54 +0000 (10:05 +1000)
committerTony Cook <tony@develop-help.com>
Thu, 31 Aug 2017 00:21:05 +0000 (10:21 +1000)
commit745e740c825d415f535852b90516127e64c24905
treee885978953fc413d96f82acb216d8fb2ccdc672f
parent1f52e4c40f4c8f591df6917a490f208d081adb9e
(perl #128263) handle PL_last_in_gv being &PL_sv_undef

rv2gv will return &PL_sv_undef when it can't get a GV, previously
this could cause an assertion failure in mg.c

My original fix for this changed each op that deals with GVs for I/O
to set PL_last_in_gv to NULL if there was no io object in the GV, but
this changes other behaviour as noted by FatherC.

Also partly reverts 84ee769f, which unnecessarily did the same for
readline(), so now we're consistent.
mg.c
pp_hot.c
t/op/magic.t