- May 12, 2003
-
-
emarsden authored
Add package locks. Bootfile boot8.lisp allows this to build without a cross-compile (or just select the CLOBBER-IT restart). - two extra PACKAGE-LOCK and PACKAGE-DEFINITION-LOCK slots added to the package structure. These can be modified using the EXT:PACKAGE-LOCK and EXT:PACKAGE-DEFINITION-LOCK accessors. - macro EXT:WITHOUT-PACKAGE-LOCKS that evaluates forms with all package locks disabled (this is done by binding the global variable CL::*ENABLE-PACKAGE-LOCKED-ERRORS*) - new PACKAGE-LOCKED-ERROR condition - in SETF-FDEFINITION-HOOK and in the DEFMACRO, DEFSTRUCT, DEFTYPE and DEFCLASS defining forms, check whether the definition would modify a package whose definition-lock is enabled, and signal a package-locked-error condition with restarts that allow you to unlock the package or ignore the lock - in EXPORT, UNEXPORT etc check whether the target package is guarded by a package-lock, and signal an error - disable package locks when loading a subsystem - disable package locks in certain areas of PCL and in the MAKE-LOAD-FORM support of the compiler, where code is generated inside system packages at runtime
-
- Mar 30, 2003
-
-
gerd authored
* pcl/braid.lisp (ensure-non-standard-class): Add optional parameter existing-class. (reinitialize-structure-class): New function. (toplevel): Push it on kernel::*defstruct-hooks*. * code/defstruct.lisp (*defstruct-hooks*): New variable. (%defstruct): Call these hooks. * tools/pclcom.lisp (find-package): Remove pcl::reinitialize-structure-class from kernel::*defstruct-hooks*.
-
- Mar 27, 2003
-
-
toy authored
stuff that was introduced to fix the conc-name inheritance bugs. We keep the #-bootstrap-conc-name stuff.
-
- Mar 22, 2003
-
-
gerd authored
= pcl:class part. To get it booted from 18e, cross-compile using boot1.lisp as bootstrap.lisp in pmai's build scripts, then do a normal compile with boot2.lisp as bootstrap.lisp with the resulting Lisp. * code/byte-interp.lisp, code/defstruct.lisp, code/describe.lisp: * code/error.lisp, code/exports.lisp, code/hash-new.lisp: * code/hash.lisp, code/macros.lisp, code/misc.lisp: * code/package.lisp, code/pred.lisp, code/sharpm.lisp, code/type.lisp: * compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp: * compiler/proclaim.lisp, compiler/typetran.lisp, compiler/xref.lisp: * compiler/generic/primtype.lisp, compiler/generic/vm-type.lisp: Changes for to use kernel::class etc. * code/class.lisp (toplevel): Shadow class, built-in-class etc. (class): Give it conc-name %class-. (toplevel) [#+bootstrap-lisp-class=pcl-class]: Define old accessors. (everywhere): Use new class accessors. * compiler/generic/vm-fndb.lisp (%make-instance): Change from unsafe to flushable and movable. * code/ntrace.lisp (expand-trace, untrace): Changes for method tracing. * code/profile.lisp (profile, profile-all, unprofile): Method profiling. * pcl/*.text, pcl/bench.lisp, pcl/extensions.lisp: * pcl/fast-init.lisp, pcl/precom1.lisp, pcl/precom4.lisp: * pcl/structure-class.lisp, pcl/user-instances.lisp: Removed. * tools/pclcom.lisp: Changes for my PCL and lisp:class = pcl::class.
-
- Feb 01, 2003
-
-
gerd authored
* pcl/defs.lisp (make-class-predicate-name): Handle uninterned symbols. * code/defstruct.lisp (define-predicate): Don't error out on some vector objects. (dsd-inherited-p): Use dd-inherited-accessor-alist.
-
- Jan 23, 2003
- Jan 03, 2003
-
-
toy authored
inheritance bug (SBCL bug 127). Slightly modified to make building a little easier. Todo: After the next release (18e) is done, go through and remove the old bootstrap-conc-name reader conditionals. We want the #-bootstrap-conc-name versions.
-
- Dec 09, 2002
-
-
toy authored
(Noted by Paul Dietz.)
-
- Jul 31, 2002
-
-
toy authored
when redefining structures. Based on suggestions from Rob MacLachlan and Mike McDonald.
-
- Apr 25, 2002
-
-
pmai authored
0.7.2.17: Merged MNA "fix for boa-constructor bug" sbcl-devel 2002-04-16 ... copied the fix to &optional arguments handling ... also test the &optional handling This fixes the handling of supplied-p args for &key and &optional args of boa-constructors. Also did a couple of code cleanups in the process.
-
- Sep 21, 2001
-
-
pw authored
problems are fixed now. This revision fixes an omission from a previous rev that added support for :print-object and :print-function defstruct options. The default method created was calling DEFAULT-STRUCTURE-PRINT with only two arguments. It seems to work correctly now.
-
- Mar 15, 2001
-
-
pw authored
defstruct options while preserving previous behaviour. ANSI processing is enabled by ext:*ansi-defstruct-options-p* which must be NIL while compiling CMUCL, PCL, CLX, HEMLOCK to avoid flushing defined print-functions. This switch is turned ON when worldload builds a core with PCL in it.
-
- Mar 04, 2001
-
-
pw authored
-
- Jan 06, 2001
-
-
dtc authored
evaluating the 'object argument.
-
- Dec 03, 1999
-
-
dtc authored
generating an error when passed a Nil argument due to an attempt to use ELT to access the name; the name is now accessed via NTH for list based structures.
-
- Sep 23, 1999
-
-
dtc authored
-
- Sep 22, 1999
-
-
dtc authored
the defstruct-slot-descriptor which was broken for inherited slot as the dsd-accessor was set to Nil in this case. Rather than setting dsd-accessor to Nil for inherited slots, add a new function dsd-inherited-p to test if an accessor has been inherited, and always setup the dsd-accessor slot with the name of the accessor function. This allows the structure printer and inspect to easily obtain a slot accessor function.
-
- Sep 20, 1999
-
-
pw authored
included other defstructs. An example of a failing case is: (defstruct a1 s1) (defstruct (a2 (:include a1)(:conc-name a1-)) s2) as seen in Hemlock source. The problem was that the dsd-accessor slot is documented to sometimes contain NIL but default-structure-print blindly called fdefinition on the sometimes NIL value. The fix here is to compute the slot accessor name from the conc-name and slot-name. NOTE: There is code in ir1tran that also blindly calls fdefinition on the contents of dsd-accessor. Don't know if this is a latent bug.
-
- Dec 19, 1998
-
-
dtc authored
Rework some error's into simple-type-error's. Based of patches from Peter Van Eynde.
-
- Jul 25, 1998
-
-
dtc authored
default-structure-print; noted by Bill Newman.
-
- Jul 24, 1998
-
-
dtc authored
remove unnecessary conditionals.
-
- May 04, 1998
-
-
dtc authored
* Rename the 'stream structure class to sys:lisp-stream. * Add a new none hierarchical 'stream built-in class which inherits from: instance, t. * Hack in the new stream class as a mixin for the structure base lisp-stream class which now inherits from: stream, structure-object, instance, t. * Add a new 'fundamental-stream standard-class which includes 'stream as a mixin, and add PCL hacks to allow this to be redefined after PCL is loaded to be (defclass fundamental-stream (standard-object stream) ...). * Add appropriate support to the base stream functions to dispatch to the Gray stream functions for the handling of fundamental-streams. Some of the lisp-streams encapsulating CLOS streams still need a little work.
-
- Apr 20, 1998
-
-
pw authored
with the ANSI spec. A default report method is attached to the serious-condition class and many of the uses of (error "string" arg..) in filesys.lisp and package.lisp were changed to use, for example, (error 'file-error :format-control "string" :format-arguments (list stuff)) The end result is no obvious change to what the user sees, and enables one to establish a handler to catch the particular error type as mentioned in the "Exceptional Situations:" section of the CLHS write-ups. There probably are still some places where the error types need to be fixed. Also, a bug in with-package-iterator which caused failure with a null package-use-list was fixed, and some file functions (like truename and probe-file) now disallow a wild pathname.
-
- Mar 21, 1998
-
-
dtc authored
-
- Mar 03, 1998
-
-
dtc authored
slots. This allows consing to be avoided when writing to these slots as for the float type.
-
- Mar 01, 1998
-
-
dtc authored
-
- Apr 09, 1997
-
-
dtc authored
will place the instance in the static space but still move the substructure lists and arrays to the RO space. This is needed for compact-info environments which cache the last name in the instance which needs to be scavenged, but the hash arrays can still be placed in the RO space (the cache name was not being scavenge which could cause a false hit if very unlucky). Shall uses this new option in compiler/globaldb.lisp after people have had a chance to bootstrap in this new support.
-
- May 07, 1996
-
-
ram authored
because of PCL/byte-compiler interactions.
-
- Oct 31, 1994
-
-
ram authored
-
- Feb 11, 1994
-
-
cvs2git authored
-
- Aug 30, 1993
- Aug 22, 1993
-
-
wlott authored
-
- Aug 03, 1993
- Jul 30, 1993
-
-
ram authored
eval-when doesn't do the right thing.
-
- Jul 22, 1993
-
-
ram authored
-
- Jul 13, 1993
-
-
ram authored
previously compiled layout, rather than the current run-time definition. As well as being somewhat more intuitive, this was needed to support redefinition of the CLASS class.
-
- Mar 15, 1993
-
-
wlott authored
instead of the structure-class-print-function so that it will work for funcallable-structure-class'es also.
-