- May 11, 2003
-
-
gerd authored
breakpoints can't be used. * src/code/ntrace.lisp (trace-1): Use can-set-function-end-breakpoint-p. * src/code/debug-int.lisp (can-set-function-end-breakpoint-p): New function.
-
- May 10, 2003
-
-
gerd authored
-
gerd authored
* src/pcl/std-class.lisp (compute-effective-slot-definition) <condition-class>: New method. * src/pcl/slots.lisp (slot-makunbound-using-class) <condition-class>: New method.
-
gerd authored
-
gerd authored
by Paul Dietz. * src/pcl/std-class.lisp (class-direct-slots, class-slots) <condition-class>: Remove methods. (shared-initialize) <condition-class>: Initialize direct and effective slots. (direct-slot-definition-class, effective-slot-definition-class) (finalize-inheritance, shared-initialize) <condition-class>: New methods. * src/pcl/braid.lisp (ensure-non-standard-class): Pass slot initargs to ensure-class for condition classes. * src/pcl/defs.lisp (condition-class): Inherit from slot-class. (condition-slot-definition, condition-direct-slot-definition) (condition-effective-slot-definition): New classes.
-
- May 09, 2003
-
-
gerd authored
-
gerd authored
(defgeneric foo (&rest x &key)) (defmethod foo (&rest x) x) (foo 1) should signal an error. This fix works only for methods defined with DEFMETHOD. MAKE-METHOD-LAMBDA doesn't have enough information available to always do the right thing, alas. * src/pcl/boot.lisp (*make-method-lambda-gf-name*): New variable. (expand-defmethod): Bind it to the gf's name. (gf-key-p): New function. (make-method-lambda-internal): Determine from *make-method-lambda-gf-name* if the gf has &key and add &key to the method function's lambda-list if appropriate.
-
gerd authored
from initfunction only if slot-names is t or if the slot is among slot-names. Thanks to Christophe Rhodes.
-
emarsden authored
-
emarsden authored
relative-package-name situations.
-
- May 08, 2003
-
-
gerd authored
or in null.
-
gerd authored
if shared slot is still unbound. Thanks to Christophe Rhodes.
-
gerd authored
&rest nil means a fixed number of values.
-
gerd authored
fixes the problem that CMUCL generated RETURN-MULTIPLE without a good reason. * src/compiler/checkgen.lisp (values-types-asserted): Use coerce-to-values again. Add fixme comments and #+nil code for known problems; these aren't new problem, though. * src/code/type.lisp (coerce-to-values): Don't add &rest t, which is the business of THE. (values) <type translator>: Disallow &key and &allow-other-keys. * src/compiler/ir1tran.lisp (the) <IR1 translator>: Add &rest t where appropriate, or-in null type into required types, for missing values.
-
gerd authored
Execute more control of the code being generated; avoid jumps in the common case.
-
- May 07, 2003
-
-
gerd authored
-
gerd authored
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.
-
gerd authored
-
gerd authored
-
gerd authored
it doesn't handle ignored &key vars well.
-
- May 06, 2003
-
-
gerd authored
like structures.
-
- May 05, 2003
-
-
toy authored
-
emarsden authored
reload it.
-
emarsden authored
Fix misleading commentary on the implications of the LOOP license (from Adam Warner).
-
emarsden authored
package)
-
emarsden authored
- Add printing of condition type in the tty debugger
-
emarsden authored
meaningful for IP connections.
-
emarsden authored
-
- May 04, 2003
-
-
gerd authored
-
gerd authored
Cleanup the code involved. * src/pcl/boot.lisp (keyword-argument-processor): New function. (bind-args): Rewritten. (get-key-arg, get-key-arg1): Removed.
-
gerd authored
-
gerd authored
where it appears in the lambda list. Found by Paul Dietz. * src/code/defmacro.lisp (append-let-binding): New function. (parse-defmacro-lambda-list): Use it for &environment.
-
gerd authored
* 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.
-
gerd authored
-
gerd authored
arguments is methods. Change lambda-lists of some gfs and methods to include &key, or &key &allow-other-keys. Bugs found by Paul Dietz in his test suite. * src/pcl/boot.lisp (bind-args): Handle the case that &key is in the lambda-list, but no keyword args. (get-key-arg1): Additional argument first-time; check for invalid keyword arguments, and add number of args when true. (get-key-arg): Call get-key-arg1. (odd-number-of-keyword-arguments, invalid-keyword-argument): New functions. * src/pcl/init.lisp (make-instance) <symbol, class>: Add &key. (initialize-instance) <slot-object>: Likewise. (reinitialize-instance) <slot-object>: Likewise. (update-instance-for-different-class): Likewise. (update-instance-for-redefined-class): Likewise. (shared-initialize) <slot-object>: Likewise. * src/pcl/std-class.lisp (change-class): Likewise. * src/pcl/slots.lisp (allocate-instance) <standard-class>: (allocate-instance) <structure-class>: Likewise. * src/pcl/methods.lisp (reinitialize-instance) <standard-method>: Likewise. * src/pcl/generic-functions.lisp (change-class) (allocate-instance, update-instance-for-different-class) (update-instance-for-redefined-class): Add &key &allow-other-keys. * src/pcl/fsc.lisp (allocate-instance) <funcallable-standard-class>: Add &key. * src/pcl/std-class.lisp (make-defstruct-allocation-function): Fix a paren bug.
-
- May 03, 2003
-
-
gerd authored
Check for odd-length args if &key seen, instead of when a keyword variable was parsed.
-
gerd authored
inherited slots. This partially a change from 2002-12-24 that made compute-slots compatible with SBCL. * src/pcl/std-class.lisp (compute-slots): Map over slots in reverse cpl order so that inherited slots are more likely to get the same locations as in superclasses. * src/pcl/rt/ctor.lisp: Tests changed accordingly.
-
gerd authored
find. From Alexey Dejneka.
-
- May 02, 2003
-
-
gerd authored
shows, except that there is no test case covering this yet. * src/pcl/ctor.lisp (slot-init-forms): Generate code for initializing unbound shared slots that are not otherwise initialized.
-
gerd authored
SHARED-INITIALIZE being specified to initialize slots that are unbound, including class slots. * src/pcl/init.lisp (shared-initialize): Initialize class slots that are unbound.
-