? flexichain-package.fasl
? flexichain.fasl
? flexicursor.fasl
? flexirank.fasl
? utilities.fasl
Index: flexichain-package.lisp
===================================================================
RCS file: /project/gsharp/cvsroot/gsharp/Flexichain/flexichain-package.lisp,v
retrieving revision 1.5
diff -u -r1.5 flexichain-package.lisp
--- flexichain-package.lisp	27 Nov 2005 23:43:50 -0000	1.5
+++ flexichain-package.lisp	28 Nov 2005 11:19:15 -0000
@@ -38,5 +38,5 @@
 	   #:insert #:insert-sequence
 	   #:element< #:element> #:delete< #:delete>
 	   #:flexirank-mixin #:element-rank-mixin #:rank
-	   #:flexi-next #:flexi-prev))
+	   #:flexi-next #:flexi-prev #:flexi-last-p))
 
Index: flexirank.lisp
===================================================================
RCS file: /project/gsharp/cvsroot/gsharp/Flexichain/flexirank.lisp,v
retrieving revision 1.3
diff -u -r1.3 flexirank.lisp
--- flexirank.lisp	28 Nov 2005 00:25:59 -0000	1.3
+++ flexirank.lisp	28 Nov 2005 11:19:15 -0000
@@ -49,6 +49,9 @@
     (assert (not (minusp new-rank)))
     (element* (chain element) new-rank)))
 
+(defmethod flexi-last-p ((element element-rank-mixin))
+  (= (1+ (rank element)) (nb-elements (chain element))))
+
 ;;; this class must be mixed into a flexichain that contains ranked elements
 (defclass flexirank-mixin () ())
 
