This page is part of the web mail archives of SRFI 59 from before July 7th, 2015. The new archives for SRFI 59 contain all messages, not just those from before July 7th, 2015.
| Date: Sun, 09 Jan 2005 22:18:40 -1000 (HST) | From: Shiro Kawai <shiro@xxxxxxxx> | | The return value of program-vicinity is currently undefined when | there's no file being loaded. Is there any reason for that? Which directory should be the value of program-vicinity be when no file is being loaded? If it is the directory containing the file containing the call to program-vicinity, then every procedure which contains a call to program-vicinity must carry a source-file annotation. Which directory should it be when the call to program-vicinity was introduced by a macro? Which directory should it be when called by a procedure defined using eval or pasted into an interactive top-level? | Without a portable means of knowing if the file is being loaded or | not, But there is a portable way: redefine LOAD to fluid-let a variable (say *load-pathname*) or program-vicinity to return the vicinity during its dynamic extent. This was missing from reference implementation; I will add it. | 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).