Update of /project/climacs/cvsroot/climacs In directory common-lisp.net:/tmp/cvs-serv20065
Modified Files: html-syntax.lisp packages.lisp pane.lisp syntax.lisp Log Message: Implemented the new buffer-modification protocol with both update-syntax and update-syntax-for-display.
Date: Sat Feb 5 07:49:53 2005 Author: rstrandh
Index: climacs/html-syntax.lisp diff -u climacs/html-syntax.lisp:1.2 climacs/html-syntax.lisp:1.3 --- climacs/html-syntax.lisp:1.2 Sat Feb 5 07:25:29 2005 +++ climacs/html-syntax.lisp Sat Feb 5 07:49:53 2005 @@ -181,6 +181,8 @@ (return-from find-bad-parse-tree parse-tree)))) (parse-trees state)))
+(defgeneric empty-state-p (state)) + (defmethod empty-state-p (state) (maphash (lambda (key val) (declare (ignore key))
Index: climacs/packages.lisp diff -u climacs/packages.lisp:1.45 climacs/packages.lisp:1.46 --- climacs/packages.lisp:1.45 Wed Feb 2 08:59:41 2005 +++ climacs/packages.lisp Sat Feb 5 07:49:53 2005 @@ -84,7 +84,7 @@ (:use :clim-lisp :clim :climacs-buffer :climacs-base :flexichain) (:export #:syntax #:define-syntax #:basic-syntax - #:update-syntax + #:update-syntax #:update-syntax-for-display #:syntax-line-indentation #:beginning-of-paragraph #:end-of-paragraph #:forward-to-error #:backward-to-error))
Index: climacs/pane.lisp diff -u climacs/pane.lisp:1.17 climacs/pane.lisp:1.18 --- climacs/pane.lisp:1.17 Wed Feb 2 08:59:41 2005 +++ climacs/pane.lisp Sat Feb 5 07:49:53 2005 @@ -464,6 +464,7 @@ (setf (full-redisplay-p pane) nil)) (adjust-cache pane)) (fill-cache pane) + (update-syntax-for-display (buffer pane) (syntax (buffer pane)) (top pane) (bot pane)) (display-cache pane (if current-p +red+ +blue+)))
(defgeneric full-redisplay (pane))
Index: climacs/syntax.lisp diff -u climacs/syntax.lisp:1.29 climacs/syntax.lisp:1.30 --- climacs/syntax.lisp:1.29 Wed Feb 2 08:59:41 2005 +++ climacs/syntax.lisp Sat Feb 5 07:49:53 2005 @@ -27,6 +27,8 @@
(defgeneric update-syntax (buffer syntax))
+(defgeneric update-syntax-for-display (buffer syntax from to)) + (defgeneric syntax-line-indentation (mark tab-width syntax) (:documentation "Return the correct indentation for the line containing the mark, according to the specified syntax.")) @@ -66,6 +68,10 @@
(defmethod update-syntax (buffer (syntax basic-syntax)) (declare (ignore buffer)) + nil) + +(defmethod update-syntax-for-display (buffer (syntax basic-syntax) from to) + (declare (ignore buffer from to)) nil)
(defmethod syntax-line-indentation (mark tab-width (syntax basic-syntax))