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).
Mark translatable strings; regenerate cmucl.pot and cmucl.po
Add (intl:textdomain "cmucl") to the files to set the textdomain.
Remove package nicknames USER from COMMON-LISP-USER. Add a new package COMMON-LISP which LISP uses, so that COMMON-LISP no longer has the non-ANSI nickname LISP. To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's build scripts, and do a full compile. * src/bootfiles/18e/boot13.lisp: Change for all the package changes. * src/code/exports.lisp: New package common-lisp, which lisp uses. * src/tools/worldload.lisp: * src/tools/setup.lisp: Use cl-user instead of user. Use lisp:: instead of cl::. * src/tools/worldcom.lisp: * src/tools/snapshot-update.lisp: * src/tools/pclcom.lisp: * src/tools/mk-lisp: * src/tools/hemcom.lisp: * src/tools/config.lisp: * src/tools/comcom.lisp: * src/tools/clxcom.lisp: * src/tools/clmcom.lisp: * src/pcl/defsys.lisp: * src/motif/lisp/initial.lisp: * src/interface/initial.lisp: * src/hemlock/lispmode.lisp (setup-lisp-mode): Use cl-user instead of user. * src/code/save.lisp (assert-user-package): * src/code/print.lisp (%with-standard-io-syntax): Find cl-user package instead of user. * src/code/package.lisp (package-locks-init): Add lisp. (package-init): Don't add user nickname to cl-user. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add common-lisp. * src/code/hash.lisp (toplevel): * src/code/hash-new.lisp (toplevel): Use in-package :lisp instead of :common-lisp. * src/code/float-trap.lisp (sigfpe-handler): Don't qualify floating-point-inexact with ext:. * src/pcl/simple-streams/strategy.lisp (sc): * src/pcl/simple-streams/null.lisp (null-read-char): * src/pcl/simple-streams/internal.lisp (allocate-buffer) (free-buffer): * src/pcl/simple-streams/impl.lisp (%check, %read-line) (%peek-char, %read-byte): * src/pcl/simple-streams/file.lisp (open-file-stream) (device-close): * src/pcl/simple-streams/classes.lisp (simple-stream) (device-close): * src/pcl/macros.lisp (toplevel): * src/pcl/braid.lisp (lisp::sxhash-instance): * src/pcl/env.lisp (toplevel): * src/compiler/generic/objdef.lisp (symbol-hash): * src/code/stream.lisp (read-sequence, write-sequence): * src/code/macros.lisp (defmacro, deftype): * src/code/eval.lisp (interpreted-function): * src/code/defstruct.lisp (defstruct): * src/code/debug.lisp (debug-eval-print): Use lisp:: instead of cl::.
* src/pcl/env.lisp (describe-object) <class t>: Print if the class is finalized; don's signal an error if not.
Remove the bogus defgeneric for make-load-form-saving-slots.
Bogus MAKE-LOAD-FORM-SAVING-SLOTS detected by Paul Dietz. * src/pcl/env.lisp (make-load-form-saving-slots): Rewritten.
Missing MAKE-LOAD-FORM methods detected by Paul Dietz. * src/pcl/env.lisp (make-load-form): Define default methods for standard-object and condition.
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.
* pcl/boot.lisp (parse-defmethod): Rewritten for clarity. Signal an error for most cases of null qualifiers. Improve DESCRIBE on generic functions. * pcl/env.lisp (method-specialized-lambda-list): New function. (describe-object): Use it, and use generic-function-lambda-list. * pcl/methods.lisp (generic-function-pretty-arglist) (method-pretty-arglist): Remove. * pcl/generic-functions.lisp (generic-function-pretty-arglist) (method-pretty-arglist): Remove. AMOP compliance fixes: Reintroduce class METAOBJECT, make GENERIC-FUNCTION a subclass of STANDARD-OBJECT, remove STD-OBJECT. This basically reverts a change of dtc from 1998. * code/describe.lisp (describe-instance): Check for standard-object, not pcl::std-object. * pcl/pkg.lisp ("PCL", "CLOS-MOP"): Export more stuff. * pcl/generic-functions.lisp: Remove some of the useless comments. * pcl/slots.lisp (slot-value-using-class, setf slot-value-using-class) (slot-boundp-using-class, slot-makunbound-using-class): Specialize on standard-object. * pcl/slots-boot.lisp (get-optimized-std-accessor-method-function): Remove an std-class-p case. * pcl/methods.lisp (update-std-or-str-methods): Use standard-object instead of std-object. (mec-all-classes-internal): Use *the-class-standard-object* instead of *the-class-std-object*. (class-test): Don't consider *the-class-std-object*. * pcl/low.lisp (pcl-instance-p) [deftransform]: Use standard-object instead of std-object. * pcl/init.lisp (update-instance-for-different-class) (update-instance-for-redefined-class): Specialize on standard-object instead of std-object. * pcl/dfun.lisp (accessor-values-internal, make-accessor-table) (make-accessor-table): Use *the-class-standard-object* instead of *the-class-std-object*. * pcl/defs.lisp (toplevel): Don't declare *the-class-std-object* special. (standard-object): Single superclass slot-object. (metaobject): New class. (std-object): Class removed. (specializer): Superclass metaobject. (definition-source-mixin, plist-mixin): Superclass standard-object, no metaclass. (documentation-mixin, dependent-update-mixin): No metaclass. (slot-definition, method, generic-function, method-combination): Superclass metaobject. * pcl/cache.lisp (raise-metatype): Don't consider std-class. * pcl/braid.lisp (bootstrap-meta-braid): Don't braid std-class. (bootstrap-initialize-class): Don't consider std-class.
* 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.
* pkg.lisp: Some fixes of symbol names etc. * braid.lisp (no-applicable-method-error, no-next-method-error) (no-primary-method-error): Added -error suffix for ANSI. * env.lisp (describe-object): Don't print slots for condition classes. * pkg.lisp ("PCL"): Fix a typo in an export. * env.lisp (make-load-form): New method for classes. * macros.lisp (legal-class-name-p): Don't check for nil. DEFCLASS with nil as class name fails anyway because it tries to redefine standard type NIL. * braid.lisp (slot-initargs-from-structure-slotd): Make it a local function in ensure-non-standard-class.
* std-class.lisp (inform-type-system-about-class) (shared-initialize :after): New methods for condition-class. * macros.lisp (find-class-from-cell): Test both structure-type-p and condition-type-p. Use ensure-non-standard-class. * low.lisp (structure-type-p): Return false for conditions. (condition-type-p): New function. * env.lisp (coerce-to-pcl-class, make-instance, change-class) (frob): Remove methods specializing on kernel::class. * defs.lisp (specializer-from-type): Use ensure-non-standard-class. (condition-class): New metaclass. * cmucl-documentation.lisp (setf documentation): Test both structure-type-p and condition-type-p. * cache.lisp (wrapper-class*): Call ensure-non-standard-class. (raise-metatype): Handle condition-class. * braid.lisp (find-structure-class): Variable removed. (bootstrap-initialize-class): Add supplied-p parameter for the prototype because class null has a nil prototype. (ensure-non-standard-class): Renamed from find-structure-class. Handle conditions.
* pcl/*.lisp: Changes for lisp:class = pcl:class.
(toplevel): Set *inhibit-class-name-canonicalization* to nil while adding methods specialized on LISP:CLASS.
*** empty log message ***
Entomotomy Bug: condition-reporting-not-via-print-object This change causes condition printing (generally) and condition reporting (in particular) to go via print-object, once PCL is loaded, as required by ANSI. Note that the :report option of define-condition still goes through the old non-print-object mechanism (which is allowed by ANSI), but that this mechanism is now invoked via a default method of print-object specialized on condition. Hence user-defined methods on print-object are now effective, instead of being bypassed through the old mechanism.
* pcl/defs.lisp (standard-method): Change superclass plist-mixin to documentation-mixin so that we don't throw away the method documentation. * pcl/cmucl-documentation.lisp (setf documentation): Use set-random-documentation. * pcl/defcombin.lisp (set-random-documentation): New function. (load-short-defcombin, load-long-defcombin): Use it. * pcl/env.lisp (describe-object) <standard-generic-function>: Print the generic function doc string, if any. Print method doc strings. (describe-object) <class>: Print slots. * code/describe.lisp (describe-symbol): If a class names a PCL class, describe-object the PCL class.
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.
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.
Make change-class ANSI-compliant, by allowing the passing of initargs. This fix is thanks to Espen S. Johnsen, who noted that update-instance-for-different-class already supported the passing of initargs, so that the fix is only to make change-class accept initargs, and pass them along to u-i-f-d-c. Also fixes a probably undetected bug in change-class with a lisp::class second argument (bogus apply in env.lisp).
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation for release tagging 18d.
Add defmethod print-object specialized on structure-object so that ANSI behaviour (print using #S(...) notation) happens.
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.
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.
Fix describe-package used-by list (from Alexander Petrov).
This commit brings the PCL repository up to release 17f and also includes the changes in the X86 1.03.7 kit. Although the 1.03.7 changes were already in the repository, the other files appear to be of early vintage and do not work with a 17f system. Hopefully all is correctly synched now.
Add some hacks for coercing lisp:class objects to pcl:class.
In export, make-load-form-dumping-slots => make-load-form-saving-slots.
Wrote stubs for MAKE-LOAD-FORM and MAKE-LOAD-FORM-SAVING-SLOTS.
September-16-92-PCL changes incorporated thanks to Rick Harris.
September-16-92-PCL-e has been incorporated into the CMUCL sources thanks to Rick Harris.
Fixed the hash table describe-object method to use accessors that exist when trying to describe the hash table.
Merge cmu changes (describe)
This is September 92 PCL.
Don't redefine describe. Don't explicitly refer to the old-pcl package, because it might not exist.
Don't redefined describe so that describing structures doesn't cause PCL to compile seven random dispatch functions.
This is July 92 PCL
This is March-92-PCL-2a.
Merged with latest PCL version.
*** empty log message ***
Removed "encapsulation" of DESCRIBE, since our describe now calls DESCRIBE-OBJECT. Added a DESCRIBE-OBJECT method for STANDARD-GENERIC-FUNCTION which prints out the methods.
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|