[mcclim-cvs] CVS mcclim/Drei

thenriksen thenriksen at common-lisp.net
Fri Feb 8 12:43:59 UTC 2008


Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv2460/Drei

Modified Files:
	input-editor.lisp 
Log Message:
Now actually fixed some more things.

Net result: input-editing should be more stable and predictable.


--- /project/mcclim/cvsroot/mcclim/Drei/input-editor.lisp	2008/02/08 11:36:35	1.44
+++ /project/mcclim/cvsroot/mcclim/Drei/input-editor.lisp	2008/02/08 12:43:59	1.45
@@ -556,6 +556,7 @@
 `stream-read-gesture' for the stream encapsulated by
 `stream'. The second return value of this function will be `type'
 if stuff is inserted after the insertion pointer."
+  (assert (<= (input-position stream) (stream-scan-pointer stream)))
   (let* ((drei (drei-instance stream))
          (*command-processor* drei)
          (was-directly-processing (directly-processing-p drei))
@@ -588,13 +589,14 @@
                        (when was-directly-processing
                          (display-message "Aborted")))))))
         (update-drei-buffer stream))
-      (let ((first-mismatch (prefix-size (view drei))))
+      (let ((first-mismatch (when (plusp (prefix-size (view drei)))
+                              (prefix-size (view drei)))))
         (display-drei drei :redisplay-minibuffer t)
         (cond ((null first-mismatch)
                ;; No change actually took place, even though IP may
                ;; have moved.
                nil)
-              ((<= first-mismatch (stream-scan-pointer stream))
+              ((< first-mismatch (stream-scan-pointer stream))
                ;; Eek, change before scan pointer - this probably
                ;; changes the scan, so we'll have to rescan
                ;; everything. Bummer!




More information about the Mcclim-cvs mailing list