adjust compiler-macro expansion and lambda-list parsing
* Don't convert errors during compiler-macro expansion into runtime
PROGRAM-ERRORs: signal a compile-time warning, and simply decline to expand
This lives in CAREFUL-EXPAND-MACRO.
* Make compiler not expand compiler-macros if there are arguments in keyword
positions that are not self-evaluating constant symbols.
This lives in two places:
(1) VERIFY-KEYWORDS signals a COMPILER-MACRO-KEYWORD-PROBLEM when it
encounters either an unknown keyword or anything except a
self-evaluating symbol in a keyword position when parsing
(2) IR1-CONVERT-FUNCTOID handles this condition by unwinding from the
compiler-macro expansion, printing a note about the problem, and
returning the original form.
Calling COMPILER-MACRO-FUNCTION directly behaves exactly as before, for
both good and ill: good in the sense that it is compliant, ill in the
sense that doing things that way may expand things the compiler would
decline to expand: