[climacs-cvs] CVS update: climacs/Persistent/persistent-base-test.lisp climacs/Persistent/persistent-buffer-test.lisp climacs/Persistent/persistent-buffer.lisp
Aleksandar Bakic
abakic at common-lisp.net
Sun Feb 6 00:03:33 UTC 2005
Update of /project/climacs/cvsroot/climacs/Persistent
In directory common-lisp.net:/tmp/cvs-serv12175/Persistent
Modified Files:
persistent-base-test.lisp persistent-buffer-test.lisp
persistent-buffer.lisp
Log Message:
Changes to (un)tabify-*region methods, and corresponding tests.
Initial tests for indent-line.
Date: Sun Feb 6 01:03:30 2005
Author: abakic
Index: climacs/Persistent/persistent-base-test.lisp
diff -u climacs/Persistent/persistent-base-test.lisp:1.4 climacs/Persistent/persistent-base-test.lisp:1.5
--- climacs/Persistent/persistent-base-test.lisp:1.4 Sat Jan 29 23:23:14 2005
+++ climacs/Persistent/persistent-base-test.lisp Sun Feb 6 01:03:29 2005
@@ -768,6 +768,110 @@
(offset m))))
"Cli Ma Cs climacs" 9)
+(deftest binseq-buffer-tabify-buffer-region.test-1
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::tabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest binseq-buffer-tabify-buffer-region.test-2
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::tabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest binseq-buffer-tabify-region.test-1
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 7)))
+ (tabify-region m2 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest binseq-buffer-tabify-region.test-2
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 3)))
+ (tabify-region 7 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest binseq-buffer-tabify-region.test-3
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 7)))
+ (tabify-region 3 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest binseq-buffer-untabify-buffer-region.test-1
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::untabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest binseq-buffer-untabify-buffer-region.test-2
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::untabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest binseq-buffer-untabify-region.test-1
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 5)))
+ (untabify-region m2 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest binseq-buffer-untabify-region.test-2
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 3)))
+ (untabify-region 5 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest binseq-buffer-untabify-region.test-3
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 5)))
+ (untabify-region 3 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest binseq-buffer-indent-line.test-1
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 " climacs ")
+ (let ((m (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 0)))
+ (indent-line m 4 nil)
+ (buffer-sequence buffer 0 (size buffer))))
+ " climacs ")
+
+(deftest binseq-buffer-indent-line.test-2
+ (let ((buffer (make-instance 'binseq-buffer)))
+ (insert-buffer-sequence buffer 0 " climacs ")
+ (let ((m (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 0)))
+ (indent-line m 5 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ " climacs ")
+
;;; obinseq tests
(deftest obinseq-buffer-previous-line.test-1
@@ -1514,4 +1618,108 @@
(values
(buffer-sequence buffer 0 (size buffer))
(offset m))))
- "Cli Ma Cs" 9)
\ No newline at end of file
+ "Cli Ma Cs" 9)
+
+(deftest obinseq-buffer-tabify-buffer-region.test-1
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::tabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest obinseq-buffer-tabify-buffer-region.test-2
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::tabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest obinseq-buffer-tabify-region.test-1
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 7)))
+ (tabify-region m2 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest obinseq-buffer-tabify-region.test-2
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 3)))
+ (tabify-region 7 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest obinseq-buffer-tabify-region.test-3
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 7)))
+ (tabify-region 3 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest obinseq-buffer-untabify-buffer-region.test-1
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::untabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest obinseq-buffer-untabify-buffer-region.test-2
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "c l im acs")
+ (climacs-base::untabify-buffer-region buffer 0 (size buffer) 8)
+ (buffer-sequence buffer 0 (size buffer)))
+ "c l im acs")
+
+(deftest obinseq-buffer-untabify-region.test-1
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 5)))
+ (untabify-region m2 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest obinseq-buffer-untabify-region.test-2
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 3)))
+ (untabify-region 5 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest obinseq-buffer-untabify-region.test-3
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 "clim acs")
+ (let ((m1 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 5)))
+ (untabify-region 3 m1 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ "clim acs")
+
+(deftest obinseq-buffer-indent-line.test-1
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 " climacs ")
+ (let ((m (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 0)))
+ (indent-line m 4 nil)
+ (buffer-sequence buffer 0 (size buffer))))
+ " climacs ")
+
+(deftest obinseq-buffer-indent-line.test-2
+ (let ((buffer (make-instance 'obinseq-buffer)))
+ (insert-buffer-sequence buffer 0 " climacs ")
+ (let ((m (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 0)))
+ (indent-line m 5 4)
+ (buffer-sequence buffer 0 (size buffer))))
+ " climacs ")
Index: climacs/Persistent/persistent-buffer-test.lisp
diff -u climacs/Persistent/persistent-buffer-test.lisp:1.6 climacs/Persistent/persistent-buffer-test.lisp:1.7
--- climacs/Persistent/persistent-buffer-test.lisp:1.6 Sat Feb 5 22:34:44 2005
+++ climacs/Persistent/persistent-buffer-test.lisp Sun Feb 6 01:03:29 2005
@@ -248,11 +248,14 @@
(let ((buffer (make-instance 'binseq-buffer)))
(insert-buffer-sequence buffer 0 "climacs")
(let ((m (make-instance 'persistent-left-sticky-mark
- :buffer buffer :offset 3)))
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 5)))
(insert-sequence m "ClimacS")
(and (= (size buffer) 14)
(eq (buffer m) buffer)
(= (offset m) 3)
+ (= (offset m2) 12)
(buffer-sequence buffer 0 14))))
"cliClimacSmacs")
@@ -260,11 +263,14 @@
(let ((buffer (make-instance 'binseq-buffer)))
(insert-buffer-sequence buffer 0 "climacs")
(let ((m (make-instance 'persistent-right-sticky-mark
- :buffer buffer :offset 3)))
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 5)))
(insert-sequence m "ClimacS")
(and (= (size buffer) 14)
(eq (buffer m) buffer)
(= (offset m) 10)
+ (= (offset m2) 12)
(buffer-sequence buffer 0 14))))
"cliClimacSmacs")
@@ -1062,11 +1068,14 @@
(let ((buffer (make-instance 'obinseq-buffer)))
(insert-buffer-sequence buffer 0 "climacs")
(let ((m (make-instance 'persistent-left-sticky-mark
- :buffer buffer :offset 3)))
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-left-sticky-mark
+ :buffer buffer :offset 5)))
(insert-sequence m "ClimacS")
(and (= (size buffer) 14)
(eq (buffer m) buffer)
(= (offset m) 3)
+ (= (offset m2) 12)
(buffer-sequence buffer 0 14))))
"cliClimacSmacs")
@@ -1074,11 +1083,14 @@
(let ((buffer (make-instance 'obinseq-buffer)))
(insert-buffer-sequence buffer 0 "climacs")
(let ((m (make-instance 'persistent-right-sticky-mark
- :buffer buffer :offset 3)))
+ :buffer buffer :offset 3))
+ (m2 (make-instance 'persistent-right-sticky-mark
+ :buffer buffer :offset 5)))
(insert-sequence m "ClimacS")
(and (= (size buffer) 14)
(eq (buffer m) buffer)
(= (offset m) 10)
+ (= (offset m2) 12)
(buffer-sequence buffer 0 14))))
"cliClimacSmacs")
Index: climacs/Persistent/persistent-buffer.lisp
diff -u climacs/Persistent/persistent-buffer.lisp:1.4 climacs/Persistent/persistent-buffer.lisp:1.5
--- climacs/Persistent/persistent-buffer.lisp:1.4 Sat Feb 5 21:59:51 2005
+++ climacs/Persistent/persistent-buffer.lisp Sun Feb 6 01:03:29 2005
@@ -145,15 +145,15 @@
(setf high-mark (make-instance 'persistent-right-sticky-mark
:buffer buffer))))
-(defmethod clone-mark ((mark persistent-left-sticky-mark) &optional type)
- (unless type
- (setf type 'persistent-left-sticky-mark))
- (make-instance type :buffer (buffer mark) :offset (offset mark)))
+;; (defmethod clone-mark ((mark persistent-left-sticky-mark) &optional type)
+;; (unless type
+;; (setf type 'persistent-left-sticky-mark))
+;; (make-instance type :buffer (buffer mark) :offset (offset mark)))
-(defmethod clone-mark ((mark persistent-right-sticky-mark) &optional type)
- (unless type
- (setf type 'persistent-right-sticky-mark))
- (make-instance type :buffer (buffer mark) :offset (offset mark)))
+;; (defmethod clone-mark ((mark persistent-right-sticky-mark) &optional type)
+;; (unless type
+;; (setf type 'persistent-right-sticky-mark))
+;; (make-instance type :buffer (buffer mark) :offset (offset mark)))
(defmethod size ((buffer binseq-buffer))
(binseq-length (slot-value buffer 'contents)))
More information about the Climacs-cvs
mailing list