[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