(in-package :lisp-on-lines-ucw)
+(defmacro dlambda ((&rest args) &body body)
+ (let ((env (gensym)))
+ `(let ((,env (capture-dynamic-environment)))
+ (lambda (,@args)
+ (with-dynamic-environment (,env)
+ ,@body)))))
+
(defclass contextl-application (standard-application)
()
(:default-initargs
(with-dynamic-environment ((action-dynamic-environment action))
(call-next-method)))
-(defmethod ucw-core:call-callbacks ((action contextl-action) frame request)
+(defmethod ucw-core:call-callbacks :around ((action contextl-action) frame request)
(with-dynamic-environment ((action-dynamic-environment action))
(call-next-method)))
(call-next-method))))
(defmethod/cc call-component :before ((from t) (to contextl-component))
- (setf (component-dynamic-environment to) (capture-dynamic-environment)))
+ (setf (component-dynamic-environment to) (capture-dynamic-environment)))