Update of /project/mcclim/cvsroot/mcclim/Drei In directory clnet:/tmp/cvs-serv15239
Modified Files: input-editor.lisp fundamental-syntax.lisp Log Message: Made Lisp and Fundamental syntax handle case where the tab width is zero (hello Null backend!)
--- /project/mcclim/cvsroot/mcclim/Drei/input-editor.lisp 2007/01/13 21:09:51 1.16 +++ /project/mcclim/cvsroot/mcclim/Drei/input-editor.lisp 2007/02/19 00:12:22 1.17 @@ -164,7 +164,7 @@ ;; position properly (ie. after the prompt). (loop with buffer = (buffer (drei-instance stream)) - until (= (stream-scan-pointer stream) (size buffer)) + until (>= (stream-scan-pointer stream) (size buffer)) while (typep (buffer-object buffer (stream-scan-pointer stream)) 'noise-string) do (incf (stream-scan-pointer stream))) --- /project/mcclim/cvsroot/mcclim/Drei/fundamental-syntax.lisp 2007/02/06 09:10:51 1.4 +++ /project/mcclim/cvsroot/mcclim/Drei/fundamental-syntax.lisp 2007/02/19 00:12:22 1.5 @@ -111,9 +111,10 @@ pane (first (aref cursor-positions 0)) 0)) ((#\Page #\Return #\Space) (stream-increment-cursor-position pane space-width 0)) - (#\Tab (let ((x (stream-cursor-position pane))) - (stream-increment-cursor-position - pane (- tab-width (mod x tab-width)) 0)))) + (#\Tab (when (plusp tab-width) + (let ((x (stream-cursor-position pane))) + (stream-increment-cursor-position + pane (- tab-width (mod x tab-width)) 0))))) (incf start))))))
(defmethod display-line ((stream clim-stream-pane) (drei drei) mark)