Update of /project/mcclim/cvsroot/mcclim/Drei In directory clnet:/tmp/cvs-serv15574/Drei
Modified Files: drei.lisp Log Message: Update the syntax if it is changed by `with-drei-options'.
--- /project/mcclim/cvsroot/mcclim/Drei/drei.lisp 2006/12/09 23:55:39 1.12 +++ /project/mcclim/cvsroot/mcclim/Drei/drei.lisp 2007/01/14 08:22:27 1.13 @@ -855,16 +855,18 @@ (when syntax-provided-p (push (list (unless keep-syntax `(old-syntax (syntax (buffer ,drei)))) - `(setf (syntax (buffer ,drei)) - (etypecase ,syntax - (string (make-instance (or (syntax-from-name ,syntax) - (error "No such syntax: ~A" ,syntax)) - :buffer (buffer ,drei))) - (symbol (make-instance ,syntax - :buffer (buffer ,drei))) - (syntax ,syntax))) + `(progn (setf (syntax (buffer ,drei)) + (etypecase ,syntax + (string (make-instance (or (syntax-from-name ,syntax) + (error "No such syntax: ~A" ,syntax)) + :buffer (buffer ,drei))) + (symbol (make-instance ,syntax + :buffer (buffer ,drei))) + (syntax ,syntax))) + (update-syntax (buffer ,drei) (syntax (buffer ,drei)))) (unless keep-syntax - `(setf (syntax (buffer ,drei)) old-syntax))) + `(progn (setf (syntax (buffer ,drei)) old-syntax) + (update-syntax (buffer ,drei) (syntax (buffer ,drei)))))) triple-list)) `(progn (check-type ,drei drei)