Allegro generates redefinition warning when a form is evaluated in a buffer. Technically, Allegro is correct: a form that was in a file is now being redefined at the top-level. I find it irritating, however, because the form is contained in a buffer that maps to the file (using all these words in non-technical senses <smile>). If I understand Franz's documentation (see below), then binding *source- pathname* to the pathname of the current buffer would prevent these warnings. Would this be a "bad-thing" or a "good-thing"? After all, there is also the interpret / compile distinction that I believe still matters to Allegro? Opinions?
*source-pathname*
When a function, defstruct accessor, flavor method, or macro is defined, and when symbol-function is setf'ed, the value of this variable is recorded as the place of definition. During a load of a source file or during a compile-file this variable is bound to the name of the file being loaded or compiled. Programs, such as editors running Lisp as a subprocess, or users typing to the top- level may themselves bind this variable to any pathname designator (a string or a pathname object) they wish, and the information will be recorded except when load is used to transmit the definition to Lisp.
thanks,