[climacs-cvs] CVS esa
crhodes
crhodes at common-lisp.net
Sat Mar 25 22:24:15 UTC 2006
Update of /project/climacs/cvsroot/esa
In directory clnet:/tmp/cvs-serv1896
Modified Files:
esa.lisp
Log Message:
Rearrange the esa loop a tiny bit: run redisplay-frame-panes from
execute-frame-command if (eq frame *application-frame*), and from the
abort-gesture handler too.
Make sure that the ESA methods on redisplay-frame-panes and
execute-frame-command use the frame argument rather than
*application-frame*.
--- /project/climacs/cvsroot/esa/esa.lisp 2006/03/25 00:08:07 1.1.1.1
+++ /project/climacs/cvsroot/esa/esa.lisp 2006/03/25 22:24:15 1.2
@@ -266,15 +266,20 @@
(defmethod redisplay-frame-panes :around ((frame esa-frame-mixin) &key force-p)
(declare (ignore force-p))
- (when (null (remaining-keys *application-frame*))
- (setf (executingp *application-frame*) nil)
+ (when (null (remaining-keys frame))
+ (setf (executingp frame) nil)
(call-next-method)))
(defmethod execute-frame-command :after ((frame esa-frame-mixin) command)
- (setf (previous-command *standard-output*)
+ ;; FIXME: I'm not sure that we want to do this for commands sent
+ ;; from other threads; we almost certainly don't want to do it twice
+ ;; in such cases...
+ (setf (previous-command (car (windows frame)))
(if (consp command)
(car command)
- command)))
+ command))
+ (when (eq frame *application-frame*)
+ (redisplay-frame-panes frame)))
(defgeneric find-applicable-command-table (frame))
@@ -299,16 +304,16 @@
(redisplay-frame-panes frame :force-p t)
(loop
do (restart-case
- (progn
- (handler-case
- (let ((command-table (find-applicable-command-table frame)))
- ;; for presentation-to-command-translators,
- ;; which are searched for in
- ;; (frame-command-table *application-frame*)
- (setf (frame-command-table frame) command-table)
- (process-gestures-or-command frame command-table))
- (abort-gesture () (display-message "Quit")))
- (redisplay-frame-panes frame))
+ (handler-case
+ (let ((command-table (find-applicable-command-table frame)))
+ ;; for presentation-to-command-translators,
+ ;; which are searched for in
+ ;; (frame-command-table *application-frame*)
+ (setf (frame-command-table frame) command-table)
+ (process-gestures-or-command frame command-table))
+ (abort-gesture ()
+ (display-message "Quit")
+ (redisplay-frame-panes frame)))
(return-to-esa () nil)
(reset-esa ()
;; This restart is used to jump out of deadlocks where
More information about the Climacs-cvs
mailing list