I fixed this in 5f3de42 by modifying how we prepare the toplevel binding. Previously, we pushed the frames necessary for toplevel very early, so that TOPLEVEL_BINDING could be constructed. This caused there to be an extra frame already on the stack when doing requires, and so caller(0) had an extra element, and so tracer did not enable itself (or display the tracing warning). The modification in 5f3de42 was to push the context needed for TOPLEVEL_BINDING but then remove them while doing requires, and finally re-init the toplevel context with what it should be for normal execution.
My previous attempt to fix this-
removing an element from all caller(0) traces-caused caller(0) to be incorrect when called from a non -r source, so it was not the right way to go. This fix appears to match MRI a bit better.