[mcclim-cvs] CVS mcclim/Drei
thenriksen
thenriksen at common-lisp.net
Sun Jan 14 17:57:01 UTC 2007
Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv29818/Drei
Modified Files:
core.lisp base.lisp
Log Message:
Loop fixups for CLISP.
--- /project/mcclim/cvsroot/mcclim/Drei/core.lisp 2006/12/03 22:50:13 1.2
+++ /project/mcclim/cvsroot/mcclim/Drei/core.lisp 2007/01/14 17:57:01 1.3
@@ -102,9 +102,9 @@
(loop with m = (clone-mark (low-mark (buffer mark))
:right)
initially (beginning-of-buffer m)
- do (end-of-line m)
+ repeat (1- line-number)
until (end-of-buffer-p m)
- repeat (1- line-number)
+ do (end-of-line m)
do (incf (offset m))
(end-of-line m)
finally (beginning-of-line m)
@@ -202,16 +202,16 @@
with line-beginning-offset = (offset begin-mark)
with walking-mark = (clone-mark begin-mark)
while (mark< walking-mark mark)
- as object = (object-after walking-mark)
- do (case object
- (#\Space
- (setf (offset begin-mark) (offset walking-mark))
- (incf column))
- (#\Tab
- (setf (offset begin-mark) (offset walking-mark))
- (incf column (- tab-width (mod column tab-width))))
- (t
- (incf column)))
+ do (let ((object (object-after walking-mark)))
+ (case object
+ (#\Space
+ (setf (offset begin-mark) (offset walking-mark))
+ (incf column))
+ (#\Tab
+ (setf (offset begin-mark) (offset walking-mark))
+ (incf column (- tab-width (mod column tab-width))))
+ (t
+ (incf column))))
(when (and (>= column fill-column)
(/= (offset begin-mark) line-beginning-offset))
(when compress-whitespaces
@@ -266,8 +266,8 @@
(let ((mark2 (clone-mark mark)))
(beginning-of-line mark2)
(loop until (end-of-buffer-p mark2)
- as object = (object-after mark2)
- while (or (eql object #\Space) (eql object #\Tab))
+ while (or (eql (object-after mark2) #\Space)
+ (eql (object-after mark2) #\Tab))
do (delete-range mark2 1))
(loop until (zerop indentation)
do (cond ((and tab-width (>= indentation tab-width))
--- /project/mcclim/cvsroot/mcclim/Drei/base.lisp 2006/11/14 10:17:13 1.3
+++ /project/mcclim/cvsroot/mcclim/Drei/base.lisp 2007/01/14 17:57:01 1.4
@@ -268,14 +268,16 @@
constituent character of the line."
(let ((mark2 (clone-mark mark)))
(beginning-of-line mark2)
- (loop with indentation = 0
- until (end-of-buffer-p mark2)
- as object = (object-after mark2)
- while (or (eql object #\Space) (eql object #\Tab))
- do (incf indentation
- (if (eql (object-after mark2) #\Tab) tab-width 1))
- (incf (offset mark2))
- finally (return indentation))))
+ (if (end-of-line-p mark2)
+ 0
+ (loop with indentation = 0
+ as object = (object-after mark2)
+ until (end-of-buffer-p mark2)
+ while (or (eql object #\Space) (eql object #\Tab))
+ do (incf indentation
+ (if (eql (object-after mark2) #\Tab) tab-width 1))
+ (incf (offset mark2))
+ finally (return indentation)))))
(defmethod buffer-number-of-lines-in-region (buffer offset1 offset2)
"Helper method for number-of-lines-in-region. Count newline
More information about the Mcclim-cvs
mailing list