Update of /project/mcclim/cvsroot/mcclim/Drei In directory clnet:/tmp/cvs-serv3818/Drei
Modified Files: drei-redisplay.lisp Log Message: Fix handling of tabs in Drei cursor positioning.
This is a hack. The real solution is to stop using tabs.
--- /project/mcclim/cvsroot/mcclim/Drei/drei-redisplay.lisp 2007/08/06 13:19:03 1.7 +++ /project/mcclim/cvsroot/mcclim/Drei/drei-redisplay.lisp 2007/08/24 13:04:40 1.8 @@ -194,7 +194,12 @@ for object = (when go-again (object-before line-beg-mark)) while go-again - when (characterp object) + if (eql object #\Tab) + do (progn (incf displacement (string-size array)) + (incf displacement (tab-width pane)) + (setf (fill-pointer array) 0)) + else if (and (characterp object) + (not (eql object #\Tab))) do (vector-push-extend object array) else do (progn (incf displacement (string-size array)) (incf displacement (object-size object))