Update of /project/elephant/cvsroot/elephant/src In directory common-lisp.net:/tmp/cvs-serv7895/src
Modified Files: serializer.lisp Log Message: new license, bignum bugfix, don't save class slots
Date: Sun Aug 29 22:40:49 2004 Author: blee
Index: elephant/src/serializer.lisp diff -u elephant/src/serializer.lisp:1.5 elephant/src/serializer.lisp:1.6 --- elephant/src/serializer.lisp:1.5 Sun Aug 29 09:54:46 2004 +++ elephant/src/serializer.lisp Sun Aug 29 22:40:49 2004 @@ -12,6 +12,10 @@ ;;; Copyright (c) 2004 by Andrew Blumberg and Ben Lee ;;; ablumberg@common-lisp.net blee@common-lisp.net ;;; +;;; This program is released under the following license +;;; ("GPL"). For differenct licensing terms, contact the +;;; copyright holders. +;;; ;;; This program is free software; you can redistribute it ;;; and/or modify it under the terms of the GNU General ;;; Public License as published by the Free Software @@ -121,10 +125,9 @@ (buffer-write-byte +negative-bignum+ bs) (buffer-write-byte +positive-bignum+ bs)) (buffer-write-int needed bs) - (loop for i fixnum from 0 below word-size - ;; shouldn't this be "below"? + (loop for i fixnum from 0 to word-size for byte-spec = (int-byte-spec i) - ;; this ldb is consing! + ;; this ldb is consing on CMUCL! ;; there is an OpenMCL function which should work ;; and non-cons for the-uint of-type (unsigned-byte 32) = (ldb byte-spec num) @@ -204,7 +207,9 @@ for slot-name = (slot-definition-name sd) with ret = () do - (when (slot-boundp o slot-name) + (when (and (slot-boundp o slot-name) + (eq :instance + (slot-definition-allocation sd))) (push (slot-value o slot-name) ret) (push slot-name ret)) finally (return ret)))