Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Merge intl-branch 2010-03-18 to HEAD. To build, you need to use boot-2010-02-1 as the bootstrap file. You should probably also use the new -P option for build.sh to generate and update the po files while building.
Restart internalization work. This new branch starts with code from the intl-branch on date 2010-02-12 18:00:00+0500. This version works and LANG=en@piglatin bin/lisp works (once the piglatin translation is added).
Add (intl:textdomain "cmucl") to the files to set the textdomain.
Add a deftransform for extracting slot vectors. This can be done because redefinitions from funcallable instances to instances aren't required to work, and cannot be made to work. * src/pcl/low.lisp (fsc-instance-wrapper, fsc-instance-slots) (fsc-instance-hash): Moved here from fin.lisp. (pcl::pcl-instance-p) <deftransform>: Use info-standard-class-p and info-funcallable-standard-class-p. (pcl::slot-vector-or-nil) <deftransform>: New. (slot-vector-or-nil): New function. * src/pcl/info.lisp (info-std-class-p): Removed. (info-standard-class-p, info-funcallable-standard-class-p): New functions. * src/pcl/fin.lisp (fsc-instance-wrapper, fsc-instance-slots) (fsc-instance-hash): Moved to low.lisp. * src/pcl/vector.lisp (pv-binding1): Use slot-vector-or-nil instead of get-slots-or-nil.
Code cleanup. Use EXTENSIONS package to reduce clutter. * src/pcl/defsys.lisp ("PCL", "WALKER"): Use ext. * src/pcl/pkg.lisp ("PCL", "WALKER"): Use ext. * src/pcl/*.lisp: Remove ext: prefixes. * src/pcl/low.lisp (symbolicate*): Renamed from symbolicate. * src/pcl/std-class.lisp (shared-initialize): * src/pcl/defs.lisp (get-built-in-class-symbol) (get-built-in-wrapper-symbol): * src/pcl/braid.lisp (initial-classes-and-wrappers) (bootstrap-meta-braid): Use symbolicate*. * src/pcl/macros.lisp (dolist-carefully): Removed. (true, false, zero): Moved to defclass.lisp. (printing-random-thing-internal): Removed. (printing-random-thing): Removed. (rassq): Removed. (*keyword-package*): Removed. (make-keyword): Removed; import from cl. (memq, delq, assq): Macros removed, import from ext. (get-declaration): Moved to boot.lisp, where it's used. * src/pcl/boot.lisp (get-declaration): Moved here from macros.lisp. * src/pcl/methods.lisp (named-object-print-function, print-object): * src/pcl/low.lisp (print-std-instance): * src/pcl/dfun.lisp (print-dfun-info): * src/pcl/cache.lisp (print-cache, print-wrapper): * src/pcl/boot.lisp (make-early-gf): Use print-unreadable-object instead of printing-random-thing. * src/pcl/defclass.lisp (true, false, zero): Moved here from macros.lisp. * src/pcl/methods.lisp (legal-qualifiers-p) (legal-specializers-p): Use dolist.
* bootfiles/18e/boot.lisp: Bootstrap files for the lisp:class = 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.
*** empty log message ***
Entomotomy Bug: slot-definition-allocation-not-amop-compliant Committed a slightly adjusted patch from Gerd Moellmann, which makes the GF slot-definition-allocation return :class for class slots, as specified by AMOP, instead of the class object, as it did previously.
Entomotomy Bug: pcl-gf-cache-cacheing-not-needed This commits a patch by Gerd Moellmann which elides the elaborate cacheing of GF caches, since modern GCs are usually better at handling this. Performance on x86 with generational GC seems unharmed by this, other ports using the non-generational GC will have to investigate. Should this turn up performance problems, the patch might get reverted.
Entomotomy Bug: call-next-method-lexical-args This commit fixes the problem by ripping out all call-next-method and next-method-p optimizations done by PCL through code walking, since the CMUCL compiler is smart enough to do all those optimizations (like removing unused local functions, and/or inlining the code if it isn't closed over) better by itself. This leads to the elimination of quite a bit of hairy code from PCL. Since there currently exists no way to locally override a user-supplied ignore declaration on a variable for macro-generated code, we need to remove ignore declarations for method arguments, in order not to generate superfluous warnings. This is suboptimal, and hence should be corrected through compiler enhancements at some time.
Flushed the #+copy-&rest-arg controlled copying of rest arguments, since the code was both unused in CMUCL, and was erroneous in places, too. This brings us in line with SBCL which removed the code early on.
Committed modified patch by Gerd Moellmann (from SBCL changes), that removes make-parameter-references, replacing it with generation of ignorable declarations for all specialized parameters. Note that this differs from the original patch, which generated ignorable declarations for all required parameters, based on the current consensous on cmucl-imp. Also turned references to .pv-cell. and .next-method-call. into ignorable declarations.
Entomotomy Bug: redefined-classes-and-subtypep This patchset by Gerd Moellmann reenables the previous fix to this bug, without retriggering the obsolete-instance-trap-on-redefined-class bug. Additionally, this cleans up the layout-invalid vs. wrapper-state logic making the code much easier to follow.
Committed patch by Gerd Moellmann to rename the constant *slot-unbound* to the more fitting name +slot-unbound+.
From Gerd Moellmann: ...if the alist ENTRY is longer than 8 elements, a hash-table is used instead of an alist. But, the variable ENTRY isn't set to that new hash-table, so that the new entry is added to the original alist...
Removed the shadowed version of dotimes from PCL, replacing it with normal cl:dotimes, introducing explicit fixnum declarations where they weren't obviously unnecessary. Based on a patch by Gerd Moellmann.
Huge patch by Gerd Moellmann that removes PCL::ITERATE and PCL::GATHER* in favor of normal CL constructs. In a similar vein to SBCL, this patch also replaces all uses of #'(lambda ...) by just (lambda ...), and removes now-dated looking quotes in front of self-evaluating objects, like keywords and t/nil. The patch has been slightly frobbed by me, to correct a couple of slight oversights, and make more effective use of the loop facility in a number of places.
Slightly mangled patch by Gerd Moellmann to remove PCL's own version of destructuring-bind in favour of the ANSI CL version already in CMUCL.
This set of revisions brings the RELENG_18 branch up to HEAD in preparation for an 18c release.
Remove all #+ and #- conditionals from the source code. What is left is essentially Common Lisp except for explicit references to things in CMUCL specific packages.
Further cleanup of the code now that the :SETF feature is assumed standard.
Cleanup of the PCL directory. Removed files and conditional code for long dead lisp implementations. Some parts of the code is now a bit easier to read and (hopefully) understand.
Add CMUCL style file-comments; from Peter Van Eynde.
This (huge) revision brings the RELENG_18 branch up to the current HEAD. Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.
Remove the remnants of the 'common type specifier. Add the 'string type declaration to the PCL *variable-declarations-without-argument*.
Remove obsolete type string-char from *variables-declaration-without-argument*.
This change silently removes ignore declarations for arguments in methods that invoke call-next-method. As all original arguments are passed to the next method, the compiler shouts a warning that ignored variables are being read, although it is not lexically apparent.
Add IGNORABLE to PCL's known declaration list
Werkowskis source kit 1.03.7
Supply missing :INITIAL-ELEMENT NIL in MAKE-ARRAY call.
freeze-type pv-table. In compute-pv and update-all-pv-table-caches, don't look at the wrapper-class-slots or instance-slots-layout for structure classes.
September-16-92-PCL-e has been incorporated into the CMUCL sources thanks to Rick Harris.
This is is March-92-PCL 2c
This is September 92 PCL.
This is July 92 PCL
Make *initial-isl* have *empty-cache* as its cache, so we don't get a type error.
This is March-92-PCL-2a.
Merged with latest PCL version.
*** empty log message ***
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|