From alemmens at common-lisp.net Sun Mar 2 22:29:05 2008 From: alemmens at common-lisp.net (alemmens) Date: Sun, 2 Mar 2008 17:29:05 -0500 (EST) Subject: [rucksack-cvs] CVS rucksack Message-ID: <20080302222905.EDF1A1501F@common-lisp.net> Update of /project/rucksack/cvsroot/rucksack In directory clnet:/tmp/cvs-serv29471 Modified Files: rucksack.asd rucksack.lisp Log Message: Fix a bug in RUCKSACK-DO-SLOT: it didn't work correctly when the EQUAL argument wasn't supplied. --- /project/rucksack/cvsroot/rucksack/rucksack.asd 2008/02/19 22:44:06 1.19 +++ /project/rucksack/cvsroot/rucksack/rucksack.asd 2008/03/02 22:29:05 1.20 @@ -1,9 +1,9 @@ -;;; $Id: rucksack.asd,v 1.19 2008/02/19 22:44:06 alemmens Exp $ +;;; $Id: rucksack.asd,v 1.20 2008/03/02 22:29:05 alemmens Exp $ (in-package :cl-user) (asdf:defsystem :rucksack - :version "0.1.17" + :version "0.1.18" :serial t :components ((:file "queue") (:file "package") --- /project/rucksack/cvsroot/rucksack/rucksack.lisp 2008/02/11 12:47:52 1.24 +++ /project/rucksack/cvsroot/rucksack/rucksack.lisp 2008/03/02 22:29:05 1.25 @@ -1,4 +1,4 @@ -;; $Id: rucksack.lisp,v 1.24 2008/02/11 12:47:52 alemmens Exp $ +;; $Id: rucksack.lisp,v 1.25 2008/03/02 22:29:05 alemmens Exp $ (in-package :rucksack) @@ -187,6 +187,7 @@ INCLUDE-SUBCLASSES defaults to T.")) (defmacro rucksack-do-slot ((instance-var class slot + &rest args &key (rucksack '*rucksack*) equal min max include-min include-max order include-subclasses) @@ -195,17 +196,12 @@ specified value. INSTANCE-VAR will be bound successively to each instance. See the documentation of RUCKSACK-MAP-SLOT for more details." + (declare (ignorable equal min max include-min include-max order + include-subclasses)) (check-type instance-var symbol) `(rucksack-map-slot ,rucksack ,class ,slot (lambda (,instance-var) , at body) - :equal ,equal - :min ,min - :max ,max - :include-min ,include-min - :include-max ,include-max - :order ,order - :include-subclasses ,include-subclasses)) - + ,@(sans args ':rucksack))) #+later From alemmens at common-lisp.net Sun Mar 2 22:30:08 2008 From: alemmens at common-lisp.net (alemmens) Date: Sun, 2 Mar 2008 17:30:08 -0500 (EST) Subject: [rucksack-cvs] CVS rucksack/doc Message-ID: <20080302223008.8C3E67C052@common-lisp.net> Update of /project/rucksack/cvsroot/rucksack/doc In directory clnet:/tmp/cvs-serv29720 Modified Files: done.txt Log Message: Notes for version 0.1.18. --- /project/rucksack/cvsroot/rucksack/doc/done.txt 2008/02/11 13:00:10 1.1 +++ /project/rucksack/cvsroot/rucksack/doc/done.txt 2008/03/02 22:30:07 1.2 @@ -1,3 +1,9 @@ +* 2008-03-02 - version 0.1.18 + +Fix a bug in RUCKSACK-DO-SLOT: it didn't work correctly when +the EQUAL argument wasn't supplied. + + * 2008-02-11 - version 0.1.16 Created new doc directory and added tutorial by Brad Beveridge. From alemmens at common-lisp.net Mon Mar 31 18:51:50 2008 From: alemmens at common-lisp.net (alemmens) Date: Mon, 31 Mar 2008 13:51:50 -0500 (EST) Subject: [rucksack-cvs] CVS rucksack/doc Message-ID: <20080331185150.5DC772E1C8@common-lisp.net> Update of /project/rucksack/cvsroot/rucksack/doc In directory clnet:/tmp/cvs-serv30361/doc Modified Files: done.txt Log Message: Version 0.1.19: Don't use wildcards but delete only the four rucksack files when opening an existing Rucksack in :SUPERSEDE mode (bug reported by Volkan YAZICI). --- /project/rucksack/cvsroot/rucksack/doc/done.txt 2008/03/02 22:30:07 1.2 +++ /project/rucksack/cvsroot/rucksack/doc/done.txt 2008/03/31 18:51:49 1.3 @@ -1,3 +1,10 @@ +* 2008-03-31 - version 0.1.19 + +Don't use wildcards but delete only the four rucksack files when +opening an existing Rucksack in :SUPERSEDE mode (bug reported +by Volkan YAZICI). + + * 2008-03-02 - version 0.1.18 Fix a bug in RUCKSACK-DO-SLOT: it didn't work correctly when From alemmens at common-lisp.net Mon Mar 31 18:51:50 2008 From: alemmens at common-lisp.net (alemmens) Date: Mon, 31 Mar 2008 13:51:50 -0500 (EST) Subject: [rucksack-cvs] CVS rucksack Message-ID: <20080331185150.9A0D23F014@common-lisp.net> Update of /project/rucksack/cvsroot/rucksack In directory clnet:/tmp/cvs-serv30361 Modified Files: rucksack.lisp Log Message: Version 0.1.19: Don't use wildcards but delete only the four rucksack files when opening an existing Rucksack in :SUPERSEDE mode (bug reported by Volkan YAZICI). --- /project/rucksack/cvsroot/rucksack/rucksack.lisp 2008/03/02 22:29:05 1.25 +++ /project/rucksack/cvsroot/rucksack/rucksack.lisp 2008/03/31 18:51:50 1.26 @@ -1,4 +1,4 @@ -;; $Id: rucksack.lisp,v 1.25 2008/03/02 22:29:05 alemmens Exp $ +;; $Id: rucksack.lisp,v 1.26 2008/03/31 18:51:50 alemmens Exp $ (in-package :rucksack) @@ -516,13 +516,9 @@ directory)) (:supersede ;; Remove all rucksack files from the directory. - ;; DO: Only delete the files that Rucksack actually - ;; uses. - (mapc #'delete-file - (directory (make-pathname :name :wild - :type :wild - :version :wild - :defaults directory))) + (loop for file in (rucksack-files-in-directory directory) + do (delete-file file)) + ;; And create a fresh rucksack. (apply #'make-instance class :directory directory args)) (:overwrite ;; This is the normal case. @@ -538,6 +534,15 @@ (apply #'make-instance class :directory directory args)))))))) +(defun rucksack-files-in-directory (directory-pathname) + "Returns a list with the pathnames of all Rucksack files +in the specified directory." + (list (merge-pathnames "roots" directory-pathname) + (merge-pathnames "objects" directory-pathname) + (merge-pathnames "heap" directory-pathname) + (merge-pathnames "schemas" directory-pathname))) + + (defun close-rucksack (rucksack &key (commit t)) (when commit (rucksack-commit rucksack))