[climacs-cvs] CVS esa
crhodes
crhodes at common-lisp.net
Mon Mar 27 15:38:19 UTC 2006
Update of /project/climacs/cvsroot/esa
In directory clnet:/tmp/cvs-serv29371
Modified Files:
esa.lisp
Log Message:
This protocol makes the Baby Jesus cry.
If we call REDISPLAY-FRAME-PANES from EXECUTE-FRAME-COMMAND, we must
absolutely make sure that it's called at a defined time, so that ESAs
can make sure that their state is up to date when the redisplay occurs.
Call REDISPLAY-FRAME-PANES from
EXECUTE-FRAME-COMMAND :AROUND (ESA-FRAME-MIXIN T)
so that application bookkeeping can happen in primary/:before/:after
methods (before redisplay-frame-panes) and in :AROUND (APP T) methods
(for stuff to occur /after/ redisplay-frame-panes). See upcoming commit
in climacs CVS for use of this.
--- /project/climacs/cvsroot/esa/esa.lisp 2006/03/26 20:59:36 1.4
+++ /project/climacs/cvsroot/esa/esa.lisp 2006/03/27 15:38:19 1.5
@@ -286,7 +286,10 @@
(setf (previous-command (car (windows frame)))
(if (consp command)
(car command)
- command))
+ command)))
+
+(defmethod execute-frame-command :around ((frame esa-frame-mixin) command)
+ (call-next-method)
(when (eq frame *application-frame*)
(redisplay-frame-panes frame)))
More information about the Climacs-cvs
mailing list