Skip to content
Snippets Groups Projects
Commit ee750fd3 authored by ram's avatar ram
Browse files

Many fixes and some enhancements.

Added *DERIVE-FUNCTION-TYPES* switch which can inhibit inter-routine
type interence.
Fixed some broken FTYPE proclamations that have been noticed now that
the declarations are applied to the definition.
Added the VALUES declaration for conveniently declaring the return
values from a function (or any other form that has declarations.)
Made the gensym introduced to hold the value before defaulting for
hairy keyword args have a comprehensible name so that type errors
are somewhat more informative.
Also, if the keyword default isn't hairy, give the value temp the
right type so that the type check is forced back into the XEP.
Made FIND-FREE-FUNCTION note if a setf function is also a setf macro.
Made REFERENCE-CONSTANT error if the constant isn't dumpable.
Fixed THE to be correct, which required adding information into the
LEXENV and having USE-CONTINUATION cooperate.
Added doc strings for all the special forms that didn't have any.
Ripped out most of the code in the %COMPILER-DEFSTRUCT translator
now that most everything is done by %%COMPILER-DEFSTRUCT.
Frobbed DEFMACRO to clobber any old function info with
UNDEFINE-FUNCTION-NAME.
Tweaked %DEFUN translator quite a bit.  NOTINLINE declarations
are now respected as forcing named call.  Changed to use
ASSERT-DEFINITION-TYPE to apply any FTYPE proclamation to the
definition.  Also, call CHECK-FREE-FUNCTION now if we can't enter
the functional into *FREE-FUNCTIONS* for some reason.
Made %DEFCONSTANT warn about redefining constant or specials.
Also, made DEFCONSTANT always eval the form at compile time, as
this is now allowed
parent fb894d56
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment