Changeset 6680


Ignore:
Timestamp:
Jun 8, 2007, 3:11:17 PM (17 years ago)
Author:
Gary Byers
Message:

Stack-allocate error handler in DEFCALLBACK-BODY.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ide-1.0/ccl/lib/macros.lisp

    r6648 r6680  
    24742474      (if error-return
    24752475        (let* ((cond (gensym))
    2476                (block (gensym)))
    2477           `(block ,block (handler-bind ((,condition-name
    2478                                          (lambda (,cond)
     2476               (block (gensym))
     2477               (handler (gensym)))
     2478          `(block ,block
     2479            (let* ((,handler (lambda (,cond)
    24792480                                           (,error-return-function ,cond ,stack-ptr (%inc-ptr ,stack-ptr ,error-delta))
    24802481                                           (return-from ,block
    24812482                                             nil))))
    2482                            ,body)))
     2483              (declare (dynamic-extent ,handler))
     2484            (handler-bind ((,condition-name ,handler))
     2485                           ,body))))
    24832486        body))))
    24842487
Note: See TracChangeset for help on using the changeset viewer.