Index: /branches/ide-1.0/ccl/hemlock/src/syntax.lisp
===================================================================
--- /branches/ide-1.0/ccl/hemlock/src/syntax.lisp	(revision 6580)
+++ /branches/ide-1.0/ccl/hemlock/src/syntax.lisp	(revision 6581)
@@ -455,20 +455,19 @@
 		   chars ,start (strlen chars) ,vector ,mask))))
 ;;;
-(defmacro cache-find-attribute (buffer start result vector mask)
-  `(let ((gap (- (buffer-right-open-pos buffer)
-                 (buffer-left-open-pos buffer))))
+(defmacro cache-find-attribute (start result vector mask)
+  `(let ((gap (- *right-open-pos* *left-open-pos*)))
      (declare (fixnum gap))
      (cond
-      ((>= ,start (buffer-left-open-pos buffer))
+      ((>= ,start *left-open-pos*)
        (setq ,result
 	     (%sp-find-character-with-attribute
-	      (buffer-open-chars buffer) (+ ,start gap) (buffer-line-cache-length buffer) ,vector ,mask))
+	      *open-chars* (+ ,start gap) *line-cache-length* ,vector ,mask))
        (when ,result (decf ,result gap)))
       ((setq ,result (%sp-find-character-with-attribute
-		      (buffer-open-chars buffer) ,start (buffer-left-open-pos buffer) ,vector ,mask)))
+		      *open-chars* ,start *left-open-pos* ,vector ,mask)))
       (t
        (setq ,result
 	     (%sp-find-character-with-attribute
-	      (buffer-open-chars buffer) (buffer-right-open-pos buffer) (buffer-line-cache-length buffer) ,vector ,mask))
+	      *open-chars* *right-open-pos* *line-cache-length* ,vector ,mask))
        (when ,result (decf ,result gap))))))
 ); eval-when (:compile-toplevel :execute)
@@ -476,7 +475,6 @@
 (defun find-attribute (mark attribute &optional (test #'not-zerop))
   "Find the next character whose attribute value satisfies test."
-  (let* ((charpos (mark-charpos mark))
+  (let ((charpos (mark-charpos mark))
 	(line (mark-line mark))
-        (buffer (line-%buffer line))
 	(mask 0)
 	vector end-wins)
@@ -486,6 +484,6 @@
     (cond
      ((cond
-       ((eq line (buffer-open-line buffer))
-	(when (cache-find-attribute buffer charpos charpos vector mask)
+       ((eq line *open-line*)
+	(when (cache-find-attribute charpos charpos vector mask)
 	  (setf (mark-charpos mark) charpos) mark))
        (t
@@ -506,6 +504,6 @@
 	      (return (line-end mark prev))
 	      (return nil)))
-	 ((eq line (buffer-open-line buffer))
-	  (when (cache-find-attribute buffer 0 charpos vector mask)
+	 ((eq line *open-line*)
+	  (when (cache-find-attribute 0 charpos vector mask)
 	    (return (move-to-position mark charpos line))))
 	 (t
@@ -525,16 +523,16 @@
 		    chars 0 ,(or start '(strlen chars)) ,vector ,mask))))
 ;;;
-(defmacro rev-cache-find-attribute (buffer start result vector mask)
-  `(let ((gap (- (buffer-right-open-pos buffer) (buffer-left-open-pos buffer))))
+(defmacro rev-cache-find-attribute (start result vector mask)
+  `(let ((gap (- *right-open-pos* *left-open-pos*)))
      (declare (fixnum gap))
      (cond
       ,@(when start
-	  `(((<= ,start (buffer-left-open-pos buffer))
+	  `(((<= ,start *left-open-pos*)
 	     (setq ,result
 		   (%sp-reverse-find-character-with-attribute
-		    (buffer-open-chars buffer) 0 ,start ,vector ,mask)))))
+		    *open-chars* 0 ,start ,vector ,mask)))))
       ((setq ,result (%sp-reverse-find-character-with-attribute
-		      (buffer-open-chars buffer) (buffer-right-open-pos buffer)
-		      ,(if start `(+ ,start gap) '(buffer-line-cache-length buffer))
+		      *open-chars* *right-open-pos*
+		      ,(if start `(+ ,start gap) '*line-cache-length*)
 		      ,vector ,mask))
        (decf ,result gap))
@@ -542,5 +540,5 @@
        (setq ,result
 	     (%sp-reverse-find-character-with-attribute
-	      (buffer-open-chars buffer) 0 (buffer-left-open-pos buffer) ,vector ,mask))))))
+	      *open-chars* 0 *left-open-pos* ,vector ,mask))))))
 
 ); eval-when (:compile-toplevel :execute)
@@ -549,7 +547,5 @@
   "Find the previous character whose attribute value satisfies test."
   (let* ((charpos (mark-charpos mark))
-	 (line (mark-line mark))
-         (buffer (line-%buffer line))
-         vector mask end-wins)
+	 (line (mark-line mark)) vector mask end-wins)
     (declare (type (or (simple-array (mod 256)) null) vector)
 	     (type (or fixnum null) charpos))
@@ -557,6 +553,6 @@
     (cond 
      ((cond
-       ((eq line (buffer-open-line buffer))
-	(when (rev-cache-find-attribute buffer charpos charpos vector mask)
+       ((eq line *open-line*)
+	(when (rev-cache-find-attribute charpos charpos vector mask)
 	  (setf (mark-charpos mark) (1+ charpos)) mark))
        (t
@@ -576,6 +572,6 @@
 	      (return (line-start mark next))
 	      (return nil)))
-	 ((eq line (buffer-open-line buffer))
-	  (when (rev-cache-find-attribute buffer nil charpos vector mask)
+	 ((eq line *open-line*)
+	  (when (rev-cache-find-attribute nil charpos vector mask)
 	    (return (move-to-position mark (1+ charpos) line))))
 	 (t
