Bugfixes & changes on PLOB

This page contains the descriptions of all bugfixes and changes before the current version, mainly for archiving purposes.

Bugfixes for version 2.09

None available.

Bugfixes for version 2.08

Serverless mode for LispWorks 3.2 on Solaris

The serverless mode in LispWorks Common LISP 3.2/Solaris crashes with a segmentation violation when the last database is closed. To fix this, change file plob-2.08/src/lispworks/plob-low.lisp around line 310 to:
(defparameter *max-lisp-addr*
     #+(and :allegro :alpha)
     (+ (max #x30000000 #x54000000) *heap-spare-size*)
     #+(and :allegro :hpux)
     (+ (max #x20000000 #x64000000) *heap-spare-size*)
     #+(and :allegro :mips)
     (+ (max #x30000000 #x64000000) *heap-spare-size*)
     #+(and :allegro :aix)
     (+ (max #x30000000 #x64000000) *heap-spare-size*)
     #+(and :allegro :solaris2)
     (+ (max #x8000000 #x5000000) *heap-spare-size*)
     #+(and :allegro :linux86)
     (+ (max #x20000000 #x64000000) *heap-spare-size*)
     #+(and :lispworks :solaris2)
     (logand #xff000000 (+ (sys::object-address nil) #x20000000)))
  #+:lisp-doc "... documentation omitted here ...")
Thanks again to Harlequin's excellent support on LispWorks for supplying the information necessary to fix this bug.

Bug in installation script

After unpacking plob-2.08.tar and before starting an installation, change file plob-2.08/conf/make.server.in around line 63 from:
MkCopyRule($(DEFAULTROOT) slash, \
           $(LIBDIR) slash, \
MkCopyRule($(DEFAULTROOT) slash, \
           $(BINDIR) slash, \

Upgrading from Plob 2.08 to Plob 2.08a

Plob 2.08a contains some minor bug fixes in some of the install scripts and the documentation, and some performance improvements for inserting bulk data into a database.

For already done downloads of 2.08, the archive upgrade-2.08a.tar.gz contains all changed files. For installing the archive, unpack it onto the current 2.08 installation, and in directory plob-2.08, call make config anew.

ACL 5.0 for NT's debugger has problems getting back to toplevel listener

With ACL 5.0 for NT, there is a problem with CERRORs raised from the lower C layer of PLOB: A :pop does not return to the toplevel listener, but raises the CERROR anew. This seems to be a bug in ACL 5.0 for NT's debugger. The workaround for the moment is for a CERROR raised because of a not running PLOB server to start the server manually; this will return ACL 5.0 for NT to the toplevel listener.

For this reason, plob::*verbose* should not be set to nil when running under ACL 5.0 for NT, since this might put PLOB into an infinite loop.

+plob-{min,max}-marker+ as {lower,upper} interval bounds

When using the +plob-{min,max}-marker+ as {lower,upper} interval bounds for a search in a btree, the search will start always on the {first,last} element in the btree, that means, the compare criterion used is always {>=,<=}, even if {>,<} has been specified to get the {second,last before the last} element as first element of the interval.

Bitvectors in LispWorks Common LISP 4.0.1

Please note that with the LispWorks 4.0.1 for Windows/NT client, bitvectors cannot be stored and loaded at the moment. This is due to the new foreign language interface introduced with 4.0.1; Harlequin is aware of this problem and will extend the interface.

Changes from version 2.08 to 2.09

Changes from version 2.07 to 2.08

Changes from version 2.06 to 2.07

Changes from version 2.05 to 2.06

Changes from version 2.04 to 2.05

In 2.04, the installation script had a bug, this has been fixed. Following new features have been introduced:

Changes from version 2.02 to 2.04

The 2.02 distribution had some minor flaws, namely storing and loading of defstruct instances and hash tables did not work properly; this has been fixed. Besides that, these new features have been introduced: NB: Version 2.03 has never been a public version but a private one for my main customer, so it is omitted here.
Heiko Kirschke
Last modified: Wed Apr 17 13:26:10 Westeuropäische Sommerzeit 2002