CLHS: Issue MACROEXPAND-HOOK-INITIAL-VALUE Writeup

#

## Issue MACROEXPAND-HOOK-INITIAL-VALUE Writeup

    Forum:		Public Review
    Issue:		MACROEXPAND-HOOK-INITIAL-VALUE
    References:	Moon's public review comment #15
    		*MACROEXPAND-HOOK* (p. 3-78)
    Category:	CHANGE
    Edit history:	21 Dec 1992, Version 1 by Loosemore
    Status:         Proposal IMPLEMENTATION-DEPENDENT passed 9-0-0, Mar 1993

    Problem description:

      Page 3-78 says the initial value of *macroexpand-hook* is "a
      designator for the function funcall". I think the initial value should
      be implementation dependent, because some implementations use
      *macroexpand-hook* to provide information to their program development
      environment on which macros are in use.

    Proposal (MACROEXPAND-HOOK-INITIAL-VALUE:IMPLEMENTATION-DEPENDENT):

      (1) Change the description of the initial value of *MACROEXPAND-HOOK*
      to say that it is a designator for a function that is equivalent to
      the function FUNCALL, but which can have additional
      implementation-dependent side-effects.

      (2) Add to the notes section of the dictionary entry for
      *MACROEXPAND-HOOK* a statement that users who put their own function
      into *MACROEXPAND-HOOK* should consider saving the previous hook and
      calling it from their function.

    Rationale:

      Adopting this proposal would make *MACROEXPAND-HOOK* more useful.

    Current practice:

      Unknown.

    Cost to implementors:

      None.

    Cost to users:

      Probably little or none.

    Aesthetics:

      Neutral.

    Editorial impact:

      The change is confined to the dictionary entry for *MACROEXPAND-HOOK*.

    Discussion:

Copyright 1996-2005, LispWorks Ltd. All rights reserved.