[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



cc: BUG-LISPM at MIT-AI

    Date: 10 September 1980 00:17-EDT
    From: David W. Shipman <SHIPMN at MIT-AI>
    To:   BUG-LISPM at MIT-AI

    In system 36.2 spire, with microcode 683, on LISP Machine Twelve:

    I tried defining the following wrapper:

    (defwrapper (standard-parameter-window :set-cursor-pos) ((new-cursor-pos) . body)
     `(tv:lock-sheet (self)
        (cond ((equal cursor-pos ,new-cursor-pos))
    	  ((t ,@body)))))

    When I compiled the wrapper I got a "Warning: NEW-CURSOR-POS declared special" message.
    When I did the RECOMPILE-FLAVOR, I got a "NEW-CURSOR-POS is unbound" error.
    The args are apparently not getting expanded at the intended level.

    This defwrapper looks almost identical to the examples in the documentation and in the code,
    so I'm puzzled.
You don't want the , in front of the new-cursor-pos.  The variables specified
n that list are lambda-bound at EVAL time, not at macro expansion time.
There has been some confusion about this, and it is possible that it
leaked into documentation.