Changeset 12539


Ignore:
Timestamp:
Aug 6, 2009, 3:23:32 AM (10 years ago)
Author:
rme
Message:

Rename adjust-charprops-changes to adjust-line-charprops; update
charprops in insert-region and ninsert-region.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/hemlock/src/htext3.lisp

    r12289 r12539  
    8989             (if (eq charprops :neighbor)
    9090               (if (start-line-p mark)
    91                  (adjust-charprops-changes (line-charprops-changes line) 0 1)
    92                  (adjust-charprops-changes (line-charprops-changes line) (1- charpos) 1))
     91                 (adjust-line-charprops line 1)
     92                 (adjust-line-charprops line 1 :start (1- charpos)))
    9393               (let* ((next-props (next-charprops mark))
    9494                      (prev-props (previous-charprops mark)))
    9595                 (cond ((charprops-equal charprops prev-props)
    96                         (format t "~& prev props (~s) equal" prev-props)
    97                         (adjust-charprops-changes (line-charprops-changes line) (1- charpos) 1))
     96                        ;;(format t "~& prev props (~s) equal" prev-props)
     97                        (adjust-line-charprops line 1 :start (1- charpos)))
    9898                       ((charprops-equal charprops next-props)
    99                         (format t "~& next props (~s) equal" next-props)
    100                         (adjust-charprops-changes (line-charprops-changes line) charpos 1))
     99                        ;;(format t "~& next props (~s) equal" next-props)
     100                        (adjust-line-charprops (line-charprops-changes line) 1 :start charpos))
    101101                       (t
    102                         (format t "~& surrounding props (~s, ~s) not equal" prev-props next-props)
    103                         (adjust-charprops-changes (line-charprops-changes line) charpos 1)
     102                        ;;(format t "~& surrounding props (~s, ~s) not equal" prev-props next-props)
     103                        (adjust-line-charprops line 1 :start charpos)
    104104                        (set-line-charprops line charprops :start charpos
    105105                                        :end (1+ charpos))))))
     
    145145          (if (eq charprops :neighbor)
    146146            (if (start-line-p mark)
    147               (adjust-charprops-changes (line-charprops-changes line) 0 len)
    148               (adjust-charprops-changes (line-charprops-changes line) (1- charpos) len))
     147              (adjust-line-charprops line len)
     148              (adjust-line-charprops line len :start (1- charpos)))
    149149            (let* ((next-props (next-charprops mark))
    150150                   (prev-props (previous-charprops mark)))
    151151              (cond ((charprops-equal charprops prev-props)
    152                      (format t "~& prev props (~s) equal" prev-props)
    153                      (adjust-charprops-changes (line-charprops-changes line) (1- charpos) len))
     152                     ;;(format t "~& prev props (~s) equal" prev-props)
     153                     (adjust-line-charprops line len :start (1- charpos)))
    154154                    ((charprops-equal charprops next-props)
    155                      (format t "~& next props (~s) equal" next-props)
    156                      (adjust-charprops-changes (line-charprops-changes line) charpos len))
     155                     ;;(format t "~& next props (~s) equal" next-props)
     156                     (adjust-line-charprops line len :start charpos))
    157157                    (t
    158                      (format t "~& surrounding props (~s, ~s) not equal" prev-props next-props)
     158                     ;;(format t "~& surrounding props (~s, ~s) not equal" prev-props next-props)
    159159                     (set-line-charprops line charprops :start charpos
    160160                                     :end (+ charpos len))))))
     
    186186         (first-charpos (mark-charpos start))
    187187         (last-charpos (mark-charpos end))
    188          (nins (count-characters region)))
     188         (nins (count-characters region))
     189         (dest-line (mark-line mark))
     190         (dest-charpos (mark-charpos mark)))
    189191    (cond
    190192     ((eq first-line last-line)
     
    195197                     (eql last-charpos (length string)))
    196198          (setq string (subseq string first-charpos last-charpos)))
    197         (insert-string mark string)))
     199        (insert-string mark string)
     200        (apply-line-charprops dest-line (line-charprops-changes first-line)
     201                              dest-charpos (+ dest-charpos (length string)))))
    198202     (t
    199203      (close-line)
     
    213217            (%sp-byte-blt old-chars 0 new-chars 0 charpos)
    214218            (%sp-byte-blt first-chars first-charpos new-chars charpos new-length)
    215             (setf (line-chars line) new-chars))
    216          
     219            (setf (line-chars line) new-chars)
     220            (apply-line-charprops line (line-charprops-changes first-line)
     221                                  charpos (+ charpos first-length)))
     222
    217223          ;; Copy intervening lines.  We don't link the lines in until we are
    218224          ;; done in case the mark is within the region we are inserting.
     
    236242                  (setf (line-next line) first)
    237243                  (setf (line-chars new-line) new-chars)
     244                  (apply-line-charprops new-line (line-charprops-changes last-line)
     245                                        0 last-charpos)
    238246                  (setf (line-next previous) new-line)
    239247                  (setf (line-next new-line) next)
     
    259267         (first-charpos (mark-charpos start))
    260268         (last-charpos (mark-charpos end))
    261          (nins (count-characters region)))
     269         (nins (count-characters region))
     270         (dest-line (mark-line mark))
     271         (dest-charpos (mark-charpos mark)))
    262272    (cond
    263273     ((eq first-line last-line)
     
    268278                     (eql last-charpos (length string)))
    269279          (setq string (subseq string first-charpos last-charpos)))
    270         (insert-string mark string)))
     280        (insert-string mark string)
     281        (apply-line-charprops dest-line (line-charprops-changes first-line)
     282                              dest-charpos (+ dest-charpos (length string)))))
    271283     (t
    272284      (when (bufferp (line-%buffer first-line))
     
    290302            (%sp-byte-blt first-chars first-charpos new-chars charpos
    291303                          new-length)
    292             (setf (line-chars line) new-chars))
     304            (setf (line-chars line) new-chars)
     305            (apply-line-charprops line (line-charprops-changes first-line)
     306                                  charpos (+ charpos first-length)))
    293307          (let* ((last-chars (line-chars last-line))
    294308                 (old-length (length old-chars))
     
    297311            (%sp-byte-blt last-chars 0 new-chars 0 last-charpos)
    298312            (%sp-byte-blt old-chars charpos new-chars last-charpos new-length)
    299             (setf (line-chars last-line) new-chars))
    300          
     313            (setf (line-chars last-line) new-chars)
     314            (apply-line-charprops last-line (line-charprops-changes last-line)
     315                                  0 last-charpos))
    301316          ;;; Link stuff together.
    302317          (setf (line-next last-line) next)
Note: See TracChangeset for help on using the changeset viewer.