[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: JIS at MIT-MC, (BUG LISPM) at MIT-MC
- From: MOON@MIT-MC
- Date: Tue ,27 Jun 79 10:09:09 EDT
JIS@MIT-MC 06/27/79 21:25:41
To: (BUG LISPM) at MIT-MC
qc-file expands macros that exist in your current environment when
compiling a file. This can cause gross lossage when the macro name
conflicts with the name of a defined function in the input file.
It may result in the compiler blowing out, or worse in the generation
of incorrect code. I came across this bug when compiling a file
that contained calls to a function "SEND" without being aware that
the default LISPM environment had a "SEND" macro in it.
Realizing that this macro expansion may in fact be a feature,
I strongly recomment that qc-file have a switch that will allow you
to turn this feature off.
Maybe the right thing would be for the compiler to warn you if you
have a function in your file being compiled which disagrees with
a function already defined in a way which affects the compiled code,
i.e. if the pre-existing function is a macro or has a different pattern
of argument quotage. This would go along with the "wrong number of
arguments" warnings that already exist (perhaps if you define a function
with a different number of arguments than pre-existing it should warn you
to ignore number of arguments warnings?)