Changeset 6581 for branches


Ignore:
Timestamp:
May 20, 2007, 9:05:25 AM (18 years ago)
Author:
Gary Byers
Message:

Back out of gap-context change, for now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ide-1.0/ccl/hemlock/src/syntax.lisp

    r6571 r6581  
    455455                   chars ,start (strlen chars) ,vector ,mask))))
    456456;;;
    457 (defmacro cache-find-attribute (buffer start result vector mask)
    458   `(let ((gap (- (buffer-right-open-pos buffer)
    459                  (buffer-left-open-pos buffer))))
     457(defmacro cache-find-attribute (start result vector mask)
     458  `(let ((gap (- *right-open-pos* *left-open-pos*)))
    460459     (declare (fixnum gap))
    461460     (cond
    462       ((>= ,start (buffer-left-open-pos buffer))
     461      ((>= ,start *left-open-pos*)
    463462       (setq ,result
    464463             (%sp-find-character-with-attribute
    465               (buffer-open-chars buffer) (+ ,start gap) (buffer-line-cache-length buffer) ,vector ,mask))
     464              *open-chars* (+ ,start gap) *line-cache-length* ,vector ,mask))
    466465       (when ,result (decf ,result gap)))
    467466      ((setq ,result (%sp-find-character-with-attribute
    468                       (buffer-open-chars buffer) ,start (buffer-left-open-pos buffer) ,vector ,mask)))
     467                      *open-chars* ,start *left-open-pos* ,vector ,mask)))
    469468      (t
    470469       (setq ,result
    471470             (%sp-find-character-with-attribute
    472               (buffer-open-chars buffer) (buffer-right-open-pos buffer) (buffer-line-cache-length buffer) ,vector ,mask))
     471              *open-chars* *right-open-pos* *line-cache-length* ,vector ,mask))
    473472       (when ,result (decf ,result gap))))))
    474473); eval-when (:compile-toplevel :execute)
     
    476475(defun find-attribute (mark attribute &optional (test #'not-zerop))
    477476  "Find the next character whose attribute value satisfies test."
    478   (let* ((charpos (mark-charpos mark))
     477  (let ((charpos (mark-charpos mark))
    479478        (line (mark-line mark))
    480         (buffer (line-%buffer line))
    481479        (mask 0)
    482480        vector end-wins)
     
    486484    (cond
    487485     ((cond
    488        ((eq line (buffer-open-line buffer))
    489         (when (cache-find-attribute buffer charpos charpos vector mask)
     486       ((eq line *open-line*)
     487        (when (cache-find-attribute charpos charpos vector mask)
    490488          (setf (mark-charpos mark) charpos) mark))
    491489       (t
     
    506504              (return (line-end mark prev))
    507505              (return nil)))
    508          ((eq line (buffer-open-line buffer))
    509           (when (cache-find-attribute buffer 0 charpos vector mask)
     506         ((eq line *open-line*)
     507          (when (cache-find-attribute 0 charpos vector mask)
    510508            (return (move-to-position mark charpos line))))
    511509         (t
     
    525523                    chars 0 ,(or start '(strlen chars)) ,vector ,mask))))
    526524;;;
    527 (defmacro rev-cache-find-attribute (buffer start result vector mask)
    528   `(let ((gap (- (buffer-right-open-pos buffer) (buffer-left-open-pos buffer))))
     525(defmacro rev-cache-find-attribute (start result vector mask)
     526  `(let ((gap (- *right-open-pos* *left-open-pos*)))
    529527     (declare (fixnum gap))
    530528     (cond
    531529      ,@(when start
    532           `(((<= ,start (buffer-left-open-pos buffer))
     530          `(((<= ,start *left-open-pos*)
    533531             (setq ,result
    534532                   (%sp-reverse-find-character-with-attribute
    535                     (buffer-open-chars buffer) 0 ,start ,vector ,mask)))))
     533                    *open-chars* 0 ,start ,vector ,mask)))))
    536534      ((setq ,result (%sp-reverse-find-character-with-attribute
    537                       (buffer-open-chars buffer) (buffer-right-open-pos buffer)
    538                       ,(if start `(+ ,start gap) '(buffer-line-cache-length buffer))
     535                      *open-chars* *right-open-pos*
     536                      ,(if start `(+ ,start gap) '*line-cache-length*)
    539537                      ,vector ,mask))
    540538       (decf ,result gap))
     
    542540       (setq ,result
    543541             (%sp-reverse-find-character-with-attribute
    544               (buffer-open-chars buffer) 0 (buffer-left-open-pos buffer) ,vector ,mask))))))
     542              *open-chars* 0 *left-open-pos* ,vector ,mask))))))
    545543
    546544); eval-when (:compile-toplevel :execute)
     
    549547  "Find the previous character whose attribute value satisfies test."
    550548  (let* ((charpos (mark-charpos mark))
    551          (line (mark-line mark))
    552          (buffer (line-%buffer line))
    553          vector mask end-wins)
     549         (line (mark-line mark)) vector mask end-wins)
    554550    (declare (type (or (simple-array (mod 256)) null) vector)
    555551             (type (or fixnum null) charpos))
     
    557553    (cond
    558554     ((cond
    559        ((eq line (buffer-open-line buffer))
    560         (when (rev-cache-find-attribute buffer charpos charpos vector mask)
     555       ((eq line *open-line*)
     556        (when (rev-cache-find-attribute charpos charpos vector mask)
    561557          (setf (mark-charpos mark) (1+ charpos)) mark))
    562558       (t
     
    576572              (return (line-start mark next))
    577573              (return nil)))
    578          ((eq line (buffer-open-line buffer))
    579           (when (rev-cache-find-attribute buffer nil charpos vector mask)
     574         ((eq line *open-line*)
     575          (when (rev-cache-find-attribute nil charpos vector mask)
    580576            (return (move-to-position mark (1+ charpos) line))))
    581577         (t
Note: See TracChangeset for help on using the changeset viewer.