Hey, map-inverted-index shows some strange behavior. When you pass it `start' and `end' arguments and there are no objects that satisfy the range, it maps over the first object greater than end. I haven't have time to investigate it thoroughly, but I have written a 5am unit-test (you are using this test framework, aren't you?).
(defpclass foo () ((str :type string :initarg :str :reader str-of :index t))) (test map-inverted-index-1 (with-open-store (`(:bdb "/tmp/store/")) (drop-instances (get-instances-by-class 'foo)) (loop :for st :in '("a" "b" "c" "d" "g" "ga" "gb" "gc" "z") :do (make-instance 'foo :str st)) (is (null (map-inverted-index (lambda (x y) (declare (ignore y)) x) 'foo 'str :start "f" :end "fz" :collect t))))) This was on Ubuntu Hardy Heron, with BerkeleyDB 4.5 from Ubuntu packages, SBCL 1.0.15 and the newest unstable branch of Elephant (I've just made darcs pull). Funny enough, a friend of mine who is using a Macintosh is not getting this bug (he also uses unstable but I'm not sure whether it is the newest version). -- http://szopa.tasak.gda.pl/ _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel