[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pushnew has weird macroexpansion
- To: email@example.com, firstname.lastname@example.org
- Subject: Re: pushnew has weird macroexpansion
- From: email@example.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 firstname.lastname@example.org
>4676 Admiralty Way, Marina del Rey, CA 90292 (310) 822-1511x775