- (with-inactive-layers (wrap-link)
- (if *link-wrapped-p*
- (call-next-method)
- (let ((*link-wrapped-p* t))
- (<ucw:a :action (call-display self object link)
- (call-next-method)))))))
+(defdisplay
+ :in-layer wrap-link :around (description object)
+ (let ((link (link-action description)))
+
+ (with-inactive-layers (wrap-link)
+ (if *link-wrapped-p*
+ (call-next-method)
+ (let ((*link-wrapped-p* t))
+ (<ucw:a :action (call-action-with--component-and-object
+ self
+ (ucw::make-new-action
+ (ucw::context.current-frame *context*)
+ (if (consp link)
+ (eval link)
+ link))
+ object)
+ (call-next-method)))))))