The change to work with deleted stashes broke the behavior of Carp
at the top of the stack.

This change distinguishes between the two cases: at the top of the
stack, caller(1) returns (). If the stash has been deleted, it
returns a populated list with an undefined package name. The test
used here is to check for a defined line number, which should be
sufficient.