[cl-store-cvs] CVS update: cl-store/ChangeLog cl-store/cl-store.asd cl-store/default-backend.lisp cl-store/tests.lisp cl-store/utils.lisp
Sean Ross
sross at common-lisp.net
Tue Mar 15 09:59:42 UTC 2005
Update of /project/cl-store/cvsroot/cl-store
In directory common-lisp.net:/tmp/cvs-serv21207
Modified Files:
ChangeLog cl-store.asd default-backend.lisp tests.lisp
utils.lisp
Log Message:
Changelog 2005-03-15
Date: Tue Mar 15 10:59:40 2005
Author: sross
Index: cl-store/ChangeLog
diff -u cl-store/ChangeLog:1.25 cl-store/ChangeLog:1.26
--- cl-store/ChangeLog:1.25 Fri Feb 18 14:51:14 2005
+++ cl-store/ChangeLog Tue Mar 15 10:59:38 2005
@@ -1,3 +1,15 @@
+2005-03-15 Sean Ross <sross at common-lisp.net>
+ * default-backend.lisp, utils.lisp: Changed reference
+ to array-dimension-limit in array storing to
+ array-total-size limit.
+ * default-backend.lisp: Added an implementation specific
+ test to determine whether or not a string contains unicode
+ characters.
+
+2005-02-26 Sean Ross <sross at common-lisp.net>
+ * default-backend.lisp: Fixed internal-store-object
+ for the hash-table class (argument order was messed).
+
2005-02-18 Sean Ross <sross at common-lisp.net>
Version 0.5 Release.
* utils.lisp, package.lisp: Took a lesson from the MOP
Index: cl-store/cl-store.asd
diff -u cl-store/cl-store.asd:1.24 cl-store/cl-store.asd:1.25
--- cl-store/cl-store.asd:1.24 Fri Feb 18 12:11:00 2005
+++ cl-store/cl-store.asd Tue Mar 15 10:59:39 2005
@@ -40,7 +40,7 @@
:name "CL-STORE"
:author "Sean Ross <sdr at jhb.ucs.co.za>"
:maintainer "Sean Ross <sdr at jhb.ucs.co.za>"
- :version "0.5"
+ :version "0.5.2"
:description "Serialization package"
:long-description "Portable CL Package to serialize data types"
:licence "MIT"
Index: cl-store/default-backend.lisp
diff -u cl-store/default-backend.lisp:1.23 cl-store/default-backend.lisp:1.24
--- cl-store/default-backend.lisp:1.23 Fri Feb 18 12:11:00 2005
+++ cl-store/default-backend.lisp Tue Mar 15 10:59:39 2005
@@ -418,8 +418,7 @@
(store-object (class-name obj) stream))
#-ecl ;; for some reason this doesn't work with ecl
-(defmethod internal-store-object ((obj (eql (find-class 'hash-table))) stream
- (backend cl-store))
+(defmethod internal-store-object ((backend cl-store) (obj (eql (find-class 'hash-table))) stream)
(output-type-code +built-in-class-code+ stream)
(store-object 'cl:hash-table stream))
@@ -462,7 +461,7 @@
:element-type element-type
:adjustable adjustable
:fill-pointer fill-pointer)))
- (declare (type cons dimensions) (type array-size size))
+ (declare (type cons dimensions) (type array-tot-size size))
(when displaced-to
(adjust-array res dimensions :displaced-to displaced-to
:displaced-index-offset displaced-offset))
@@ -497,12 +496,15 @@
(defvar *char-marker* (code-char 255)
"Largest character that can be represented in 8 bits")
+(defun unicode-string-p (string)
+ #+lispworks (typep string 'lw:16-bit-string)
+ #+cmu nil
+ #-(or lispworks cmu) (some #'(lambda (x) (char> x *char-marker*)) string))
+
(defun store-simple-string (obj stream)
(declare (type simple-string obj)
(optimize speed))
- ;; must be a better test than this.
- (cond ((some #'(lambda (x) (char> x *char-marker*)) obj)
- ;; contains wide characters
+ (cond ((unicode-string-p obj)
(output-type-code +unicode-string-code+ stream)
(dump-string #'dump-int obj stream))
(t (output-type-code +simple-string-code+ stream)
Index: cl-store/tests.lisp
diff -u cl-store/tests.lisp:1.16 cl-store/tests.lisp:1.17
--- cl-store/tests.lisp:1.16 Fri Feb 18 12:11:00 2005
+++ cl-store/tests.lisp Tue Mar 15 10:59:39 2005
@@ -326,6 +326,11 @@
(deftestit pathname.3 (make-pathname :name "foo" :type "bar"))
+; built-in classes
+(deftestit built-in.1 (find-class 'hash-table))
+(deftestit built-in.2 (find-class 'integer))
+
+
;; circular objects
(defvar circ1 (let ((x (list 1 2 3 4)))
(setf (cdr (last x)) x)))
@@ -497,11 +502,11 @@
(deftestit function.1 #'restores)
(deftestit function.2 #'car)
-#-(or clisp lispworks allegro openmcl ecl)
-(deftestit function.3 #'(setf car))
(deftestit gfunction.1 #'cl-store:restore)
(deftestit gfunction.2 #'cl-store:store)
+#-clisp
+(deftestit gfunction.3 #'(setf get-y))
(deftest nocirc.1
Index: cl-store/utils.lisp
diff -u cl-store/utils.lisp:1.14 cl-store/utils.lisp:1.15
--- cl-store/utils.lisp:1.14 Fri Feb 18 12:11:00 2005
+++ cl-store/utils.lisp Tue Mar 15 10:59:39 2005
@@ -86,8 +86,13 @@
`(signed-byte 32))
(deftype array-size ()
- "The maximum size of an array"
- `(integer 0 ,array-dimension-limit))
+ "The maximum size of a vector"
+ `(integer 0 , array-dimension-limit))
+
+(deftype array-tot-size ()
+ "The maximum total size of an array"
+ `(integer 0 , array-total-size-limit))
+
(defun store-32-bit (obj stream)
More information about the Cl-store-cvs
mailing list