- May 20, 2003
-
-
gerd authored
which is necessary for conforming SLOT-EXISTS-P and MAKE-LOAD-FORM-SAVING-SLOTS. To bootstrap, using pmai's build scripts: 1. Copy boot10.lisp to target:bootstrap.lisp and do a full build. Choose the CLOBBER-IT restart when asked (for an unknown reason, it doesn't work to do this programatically.) 2. Leave the bootstrap file where it is and do a full build with the Lisp produced in step 1. 3. Remove the bootstrap file and do another full build. * src/bootfiles/18e/boot10.lisp: New file. * src-dsd/code/defstruct.lisp (defstruct-slot-description): Rename slot %name to name. (dsd-%name): New function. (dsd-name): Function removed. (parse-1-dsd): Set dsd-name to the slot symbol. * src-dsd/pcl/std-class.lisp (*allow-keyword-slot-names*): New variable. (initialize-internal-slot-functions) <around structure-effective-slot-definition>: New method binding *allow-keyword-slot-names* to true. * src-dsd/pcl/methods.lisp (legal-slot-name-p): Allow keywords if *allow-keyword-slot-names* is true.
-
- May 14, 2003
-
-
toy authored
-
- 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
-
- Apr 30, 2003
-
-
gerd authored
-
- Apr 21, 2003
- Apr 20, 2003
- Apr 13, 2003
-
-
gerd authored
C::SEQUENCE-COUNT /= KERNEL::SEQUENCE-COUNT, it was an unknown type. Please read boot4.lisp. * src/code/exports.lisp ("KERNEL"): Export sequence-count. * src-types/bootfiles/18e/boot4.lisp: New file. Make compute-effective-slot-definition AMOP compliant. Patch from Kevin Rosenberg. * src/pcl/std-class.lisp (compute-slots): Pass slot name to compute-effective-slot-definition. (compute-slots): Likewise. (compute-effective-slot-definition): Add parameter slot-name. * src/pcl/generic-functions.lisp (compute-effective-slot-definition): Add second parameter slot-name. Allow non-keyword keyword names in lambda lists. This fixes test cases STRUCTURE-BOA-TEST-15/[1-8], and FLET.30. * src/compiler/node.lisp (arg-info): Accept non-keyword keyword names. * src/code/type.lisp (key-info): Likewise. Fix type system bugs detected by Paul Dietz' test suite This is to a large extent a port from SBCL. * src/code/type.lisp: Mostly rewritten with code ported from SBCL. * src/compiler/typetran.lisp (ir1-transform-type-predicate): Return nil if type is *empty-type*. (source-transform-negation-typep) (source-transform-intersection-typep): New functions. (source-transform-array-typep): Handle unknown array element types. (typep): Add handling of negation and intersection types. * src/compiler/srctran.lisp (make-canonical-union-type): Simplify, now that #'type-union is smarter. (ir1-transform-<-helper): Give up on non-numeric, non-member types. * src/compiler/checkgen.lisp (type-test-cost): Add a case for intersection-type. (values-types-asserted): Don't use coerce-to-values, see the comment there. * src/compiler/array-tran.lisp (array-dimension): Accept :maybe as array-type-complexp. * src/code/pred.lisp (%%typep): Add handling of negation-types and intersection-types. Change cases of hairy-types, union-types, and arrays with unknown element type. * src/code/exports.lisp ("KERNEL"): Export negation-type, negation-type-type, intersection-type, intersection-type-types. * src/code/class.lisp (sealed-class-intersection): Return one value. (class :simple-intersection): Return one value, return nil in the default case. (class :complex-subtypep-arg2): New type method.
-
- Mar 27, 2003
-
-
gerd authored
in cross-compilation scripts.
-
- Mar 26, 2003
-
-
gerd authored
-
- 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.
-
- Mar 06, 2003
-
-
pmai authored
Attached is the full patch containing the addition of the ISTREAM-MEMORY-BARRIER VOP, the change to GENTRAP to use the bugchk opcode, and also a boot file to allow the patched sources to be compiled with an unpatched binary.
-
- Mar 03, 2003
-
-
toy authored
-
- Feb 17, 2003
-
-
gerd authored
symbols LISP::*CMUCL-LIB* and LISP::*CMUCL-CORE-PATH* (CMUCL_LIB and CMUCL_CORE_PATH in the C runtime). Load <vmdir>/parms.lisp into the compiling Lisp.
-
- Feb 15, 2003
- Jan 29, 2003
-
-
toy authored
changes.
-
- Jan 03, 2003
-
-
toy authored
-
- Dec 12, 2002
-
-
moore authored
Fix a typo in apply-with-bindings. Add string-stream and file-stream, required by the ANSI spec, as structure classes. Make the string streams and fd-stream, respectively, inherit from them. Add bootstrap magic.
-
- Oct 24, 2002
-
-
toy authored
-
- Aug 27, 2002
-
-
moore authored
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. They now go through a table -- effectively a new space in the core file. Function references are resolved lazily, data references are resolved on startup and when a .so is loaded. The end result is that cores can be dumped that contain references to symbols in shared libraries. Also, the dependence of the core on addresses in the Lisp runtime is broken. The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C runtime. Several foreign symbols are now Lisp static symbols, so a cross compile is required whether or not the new stuff is used. I've checked in boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:) Seriously, lets start a discussion on standardizing "cross compilation," not to mention the general build procedure.
-
- Aug 26, 2002
-
-
pmai authored
COMPILER-MACROEXPAND-1 from the CL package. Through CMUCL rebuild artefacts, those symbols were automagically exported in some cores, once they had been reintroduced in 18d. This removes any existing exports, bringing us back in line with ANSI requirements on the CL package.
-
- May 10, 2002
-
-
toy authored
-
- May 06, 2002
-
-
pmai authored
current Linux and FreeBSD/ELF do, although OpenBSD is still non-ELF. Also changed the handling of leading underscores in alien names, by moving the underscore addition to extern-alien-name, where it belongs, and not foreign-symbol-address-aux. This brings the x86 port in line with the other ports, modulo the PVE_stub_ magic. The changes necessitate some bootstrapping code for BSD non-ELF platforms.
-
- Apr 07, 2002
-
-
pmai authored
changes in the exports of the kernel package.
-
pmai authored
number, retaining the old FOP for short (one byte) version numbers. This enables old lisp versions to gracefully fail on new FASLs (reporting an unknown FOP), and new lisp versions to gracefully fail on old FASLs (reporting a version mismatch), yet still allowing the user to safely proceed from that error.
-
- Apr 06, 2002
-
-
pmai authored
-
- Mar 31, 2002
-
-
pw authored
-
- Mar 13, 2002
-
-
moore authored
Bootfile for FreeBSD dynamic loading fix. In reality this isn't enough; a cross compile is required.
-
- Jan 27, 2002
-
-
moore authored
DEFINE-COMPILER-MACRO. This fixes buggy behavior when DEFCONSTANT is not at top level.
-
- Jan 13, 2002
-
-
toy authored
-
- Jan 09, 2002
-
-
toy authored
platforms.
-
- Dec 04, 2001
-
-
toy authored
sparc only. Problem and solution from Eric Marsden.
-
- Oct 31, 2001
-
-
toy authored
internals.h.
-
- Jun 03, 2001
-
-
pw authored
Arrange for ANSI behaviour regarding DEFMACRO processing. It has compile-time effect only at top level now.
-
- May 21, 2001
-
-
toy authored
boot4.lisp only has effect for sparc.
-
- May 18, 2001
-
-
toy authored
-
- Mar 13, 2001
-
-
pw authored
to extensions package.
-