Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
pcl/defcombin.lisp: o Set the default documentation for the short form of DEFINE-METHOD-COMBINATION to NIL instead of "". general-info/release-20b.txt: o Update
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.
Merge code from main branch of 2005-12-17 to ppc gencgc branch. Still doesn't work of course.
From Gerd Moellman, cmucl-imp, 2005-05-15: This is another small fix for a problem Bruno reported: ;; 3.4.10 Define-method-combination Arguments Lambda Lists (progn (define-method-combination w-args () ((method-list *)) (:arguments arg1 arg2 &aux (extra :extra)) `(progn , <at> (mapcar #'(lambda (method) `(call-method ,method)) method-list))) (defgeneric mc-test-w-args (p1 p2 s) (:method-combination w-args) (:method ((p1 number) (p2 t) s) (vector-push-extend (list 'number p1 p2) s)) (:method ((p1 string) (p2 t) s) (vector-push-extend (list 'string p1 p2) s)) (:method ((p1 t) (p2 t) s) (vector-push-extend (list t p1 p2) s))) (let ((s (make-array 10 :adjustable t :fill-pointer 0))) (mc-test-w-args 1 2 s) s)) Expected: #((NUMBER 1 2) (T 1 2)) Got: ERROR: Lambda-variable is not a symbol: (EXTRA :EXTRA).
Add support for source location recording, from Helmut Eller on cmucl-imp: The patch below adds a somewhat general mechanism to the get the "current location". So every macro that wants to record the source location, can insert a call to SOURCE-LOCATION in the generated code and safe the result in a appropriate place. SOURCE-LOCATION is a compiler-macro and returns a quoted struct with the source info. The patch adds the definition for SOURCE-LOCATION some modifications for the defclass, defgeneric and defmethod macros. Classes, generic functions and methods have already a "source" slot and the result of SOURCE-LOCATION is just stored into that slot. (The source slot contains currently only the *loadpath*, which is is not very useful, if the fasl file is in a different directory than the source file.)
Lazy signaling of errors because of invalid method qualifiers, for ANSI compliance. * src/pcl/defcombin.lisp (compute-effective-method): If *in-precompute-effective-methods-p*, generate an emf consisting of a call to %invalid-qualifiers if there are such methods. * src/pcl/combin.lisp (standard-compute-effective-method): Likewise. (make-effective-method-lambda): Handle %invalid-qualifiers like %no-primary-method. * src/pcl/braid.lisp (%invalid-qualifiers): New function. (invalid-qualifiers): New method. * src/pcl/generic-functions.lisp (invalid-qualifiers): New gf. * src/pcl/dfun.lisp (*max-emf-precomputation-methods*): Set to 100. * src/docs/cmu-user/extensions.tex (Effective Method Precomputation): Change description of *max-emf-precomputation-methods*.
* src/pcl/pkg.lisp ("PCL"): Export no-primary-method. * src/pcl/defcombin.lisp (compute-effective-method): Use %no-primary-method.
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 ***
* 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.
Entomotomy Bug: define-method-combination-arguments-broken Updated the fix for the broken handling of the :arguments option to define-method-combination to Gerd Moellmann's latest patch. Also includes various indentation fixes and a smallish documentation/comment fix.
Entomotomy Bug: define-method-combination-returns-method-not-name As per ANSI, define-method-combination should return the name of the method combination.
Merged patch by Gerd Moellmann to replace (load-truename) with *load-pathname*, thus dropping the function load-truename, in order to improve location-independent source recording.
Committed patches by Gerd Moellmann to make the :arguments option to define-method-combination work. Also includes a number of other fixes to the handling of define-method-combination. This closes Entomotomy bug define-method-combination-arguments-option-broken, as well as the bug define-method-combination-duplicate-method-checking-too-eager.
Renaming of do-short-method-combination to make-short-method-combination, as per patch from Gerd Moellmann.
Slightly frobbed patch from Gerd Moellmann that eliminates the function EXTRACT-DECLARATIONS in favour of SYSTEM:PARSE-BODY. This also removes the ability for macros to expand into declarations, which isn't allowed anymore by ANSI CL.
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.
Fix to make method-combination options work for the long form of define-method-combination, as submitted by Gerd Moellmann some time ago.
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation for release tagging 18d.
Fixes a bug in short-method-combination handling reported on cmucl-help: The optional order argument to method combinations defined by the short form of define-method-combination was being quietly ignored, resulting in the default :most-specific-first behaviour, even if :most-specific-last was specified. This fix makes it respect the specified order.
o Fixed the implementation of INVALID-METHOD-ERROR and METHOD-COMBINATION-ERROR by fixing bootstrapping problems with the disabled around method of COMPUTE-EFFECTIVE-METHOD, and reinstating it. o Added stricter error checking for standard method combination.
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.
Add CMUCL style file-comments; from Peter Van Eynde.
Fix for qualifier-check-runtime: qualifier list elements containing the symbol `*' now match single arbitrary qualifier elements - only a dotted lists ending in '*' had been handled. From Matthias Holzl.
Werkowskis source kit 1.03.7
September-16-92-PCL-e has been incorporated into the CMUCL sources thanks to Rick Harris.
This is September 92 PCL.
This is July 92 PCL
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|