Changeset 15855


Ignore:
Timestamp:
Jul 1, 2013, 9:12:14 AM (7 years ago)
Author:
gb
Message:

Temporary variables introduced in the expansion of the long form
of DEFSETF may not be referenced, so declare them to be IGNORABLE.

Fixes ticket:1096 in the trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/setf.lisp

    r14947 r15855  
    223223                               (parse-body body env t)
    224224            (setq body `((block ,access-fn ,@body)))
    225             (let* ((args (gensym))
     225            (let* ((ignorable `((declare (ignorable ,@lambda-temps))))
     226                   (args (gensym))
    226227                   (dummies (gensym))
    227228                   (newval-vars (gensym))
     
    249250                               (cdr ,access-form)
    250251                               ,newval-vars
    251                                `((lambda ,,lambda-list ,,@body)
     252                               `((lambda ,,lambda-list
     253                                   ,',@ignorable
     254                                   ,,@body)
    252255                                 ,@,dummies)
    253256                               ,new-access-form))))))
Note: See TracChangeset for help on using the changeset viewer.