[climacs-cvs] CVS update: climacs/gui.lisp
Christophe Rhodes
crhodes at common-lisp.net
Thu Nov 3 10:17:45 UTC 2005
Update of /project/climacs/cvsroot/climacs
In directory common-lisp.net:/tmp/cvs-serv20581
Modified Files:
gui.lisp
Log Message:
Be gentle to those users (i.e. .gold.ac.uk) using climacs for its
buffers and syntaxes without the gui. Pile another hack in the
:around method for (setf syntax). Live in hope that one day all this
will be cleaned up.
Date: Thu Nov 3 11:17:42 2005
Author: crhodes
Index: climacs/gui.lisp
diff -u climacs/gui.lisp:1.193 climacs/gui.lisp:1.194
--- climacs/gui.lisp:1.193 Mon Oct 31 14:42:31 2005
+++ climacs/gui.lisp Thu Nov 3 11:17:40 2005
@@ -1427,9 +1427,16 @@
;;; similar method on (SETF BUFFER). -- CSR, 2005-10-31.
(defmethod (setf syntax) :around (syntax (buffer climacs-buffer))
(call-next-method)
- (let ((pane (current-window)))
- (assert (eq (buffer pane) buffer))
- (note-pane-syntax-changed pane syntax)))
+ ;; FIXME: we need this because some clients (e.g. the tablature
+ ;; editor) use climacs buffers without a gui, for off-line (e.g. Web
+ ;; backend) processing. The problem here is that (setf syntax)
+ ;; /should/ have no GUI effects whatsoever. So maybe the right
+ ;; answer would instead be to find the active pane's buffer in the
+ ;; top-level loop? That might need to be pushed into ESA.
+ (when clim:*application-frame*
+ (let ((pane (current-window)))
+ (assert (eq (buffer pane) buffer))
+ (note-pane-syntax-changed pane syntax))))
;;; FIXME - what should this specialise on?
(defmethod set-syntax ((buffer climacs-buffer) syntax)
More information about the Climacs-cvs
mailing list