[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pushnew has weird macroexpansion
- To: tar@isi.edu, info-mcl@ministry.cambridge.apple.com
- Subject: Re: pushnew has weird macroexpansion
- From: reti@cambridge.apple.com (Kalman Reti)
- Date: Wed, 8 Dec 1993 11:21:46 -0500
At 4:58 PM 12/7/93 -0500, Thomas A. Russ wrote:
>It seems to me that the macroexpansion of pushnew with complicated
>arguments is a little bit weird. Consider the lines marked with
>";; ????" in the example below:
>
>(macroexpand '(pushnew (calculate-value 'foo) (the-slot bar)))
>
>==>
>
> (LET* ((#:G8671 (CALCULATE-VALUE 'FOO))
> (#:G8673 BAR)
> (#:G8672 (ADJOIN #:G8671 (THE-SLOT #:G8673))))
> #:G8673 ;; ????
> #:G8672 ;; ????
> (FUNCALL #'(SETF THE-SLOT) #:G8672 #:G8673))
>
>
>I assume that there is some reason for this?
I'm not the author of this code, but my guess is that it is to prevent spurious
unused-variable compiler warnings in cases where the setter is a macro and
doesn't actually use all the arguments provided it.
>
>--
>________________________________________________________________________
>Thomas A. Russ, USC/Information Sciences Institute tar@isi.edu
>4676 Admiralty Way, Marina del Rey, CA 90292 (310) 822-1511x775