better error message here
make sure to do all fetches with the proper context

If we're fetching a glob for the purposes of writing to it, it shouldn't
trigger read magic. The way to suppress that in calls to hv_fetch_ent is
to pass a true value as the 'lval' parameter, which we were already
doing elsewhere, just not in _expand_glob. get_all_symbols is only used
for reading purposes, so it should unconditionally trigger read magic.
changelog