The return value of program-vicinity is currently undefined
when there's no file being loaded. Is there any reason for that?
Without a portable means of knowing if the file is being loaded
or not, there's no way to guarantee a piece of Scheme code that's
using program-vicinity work (e.g. if the file is piped from stdin).
If it returns #f, for example, then such a code can signal an error
or use some fallback value.
(Another possibility is to allow an optional argument for
program-vicinity that is used as the fallback value. However,
it might interfere with the implementation that might want to
use srfi-39 parameter to implement program-vicinity).
--shiro