/[cmucl]/src/pcl/generic-functions.lisp
ViewVC logotype

Log of /src/pcl/generic-functions.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.29 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:19:03 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, RELEASE_20b, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, post-merge-intl-branch, release-20b-pre1, release-20b-pre2, snapshot-2010-04, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, cross-sol-x86-branch, cross-sparc-branch, sparc-tramp-assem-branch
Changes since 1.28: +2 -1 lines
Diff to previous 1.28
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.

Revision 1.28.46.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:56 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.28: +2 -1 lines
Diff to previous 1.28 , to next main 1.29
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).

Revision 1.28.44.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:53 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.28: +2 -1 lines
Diff to previous 1.28 , to next main 1.29
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.28 - (view) (annotate) - [select for diffs]
Mon Aug 25 20:10:41 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, amd64-merge-start, double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, intl-2-branch-base, intl-branch-base, label-2009-03-16, label-2009-03-25, lisp-executable-base, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, mod-arith-base, portable-clx-base, portable-clx-import-2009-06-16, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-merge-intl-branch, pre-telent-clx, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-string-buffer-base, unicode-string-buffer-impl-base, unicode-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, amd64-dd-branch, double-double-array-branch, double-double-branch, double-double-reader-branch, intl-2-branch, intl-branch, lisp-executable, mod-arith-branch, portable-clx-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.27: +5 -23 lines
Diff to previous 1.27
	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*.

Revision 1.27 - (view) (annotate) - [select for diffs]
Wed Jun 11 19:17:24 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.26: +1 -7 lines
Diff to previous 1.26
	Remove an unused slot from classes.

	* src/pcl/defs.lisp (slot-class): Remove unused slot
	initialize-info.

	* src/pcl/generic-functions.lisp (setf class-initialize-info)
	(class-initialize-info): Remove.

	* src/pcl/braid.lisp (bootstrap-initialize-class): Don't
	set the slot.

Revision 1.26 - (view) (annotate) - [select for diffs]
Sun May 11 11:30:34 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.25: +2 -4 lines
Diff to previous 1.25
	More SLOT-VALUE etc. on conditions.

	* src/pcl/slots.lisp (slot-value-using-class)
	(setf slot-boundp-using-class) <condition-class>: New methods.

	* src/pcl/std-class.lisp (initialize-internal-slot-functions): Use
	slot-name->class-table.
	(shared-initialize): Call update-pv-table-cache-info.
	(compute-slots) <around condition-class>: New method.

	* src/pcl/slots-boot.lisp (ensure-accessor): Use
	slot-name->class-table.
	(get-optimized-std-accessor-method-function)
	(get-optimized-std-slot-value-using-class-method-function):
	Handle condition classes.

	* src/pcl/methods.lisp (*condition-slot-value-using-class-method*)
	(*condition-setf-slot-value-using-class-method*)
	(*condition-slot-boundp-using-class-method*): New vars.
	(condition-svuc-method, set-condition-svuc-method): New functions.
	(update-std-or-str-methods): Handle conditions.

	* src/pcl/generic-functions.lisp (condition-class-p): New gf.

	* src/pcl/dfun.lisp (make-accessor-table): Use
	slot-name->class-table.

	* src/pcl/defs.lisp (*the-condition-class*): New var.
	(slot-name->class-table): New function.
	(condition): New class.
	(*early-class-predicates*): Add condition-class-p.

	* src/pcl/braid.lisp (bootstrap-meta-braid)
	(bootstrap-initialize-class): Add condition-class stuff.
	(bootstrap-make-slot-definitions): Simplified.
	(bootstrap-make-slot-definition): Use slot-name->class-table.

Revision 1.25 - (view) (annotate) - [select for diffs]
Sun May 4 13:11:21 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24
	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.

Revision 1.24 - (view) (annotate) - [select for diffs]
Sun May 4 00:37:33 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.23: +9 -5 lines
Diff to previous 1.23
	Detect odd-length keyword argument lists, invalid keyword
	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.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Apr 29 10:33:51 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22
	Make DIRECT-SLOT-DEFINITION-CLASS and EFFECTIVE-SLOT-DEFINITION-CLASS
	AMOP compliant.  From Kevin Rosenberg on cmucl-imp 2003-04-29.

	* src/pcl/std-class.lisp (direct-slot-definition-class):
	(effective-slot-definition-class): Change methods accordingly.
	(make-direct-slotd): Apply direct-slot-definition-class to
	initargs instead of funcalling it.
	(compute-effective-slot-definition): Likewise for
	effective-slot-definition-class.

	* src/pcl/generic-functions.lisp (direct-slot-definition-class)
	(effective-slot-definition-class): Make initargs a &rest arg.

Revision 1.22 - (view) (annotate) - [select for diffs]
Sun Apr 13 11:57:16 2003 UTC (11 years ago) by gerd
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.21: +2 -3 lines
Diff to previous 1.21
  	The SEQUENCE-COUNT type was previously used in c:fndb, but since
	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.

Revision 1.21 - (view) (annotate) - [select for diffs]
Sun Mar 30 00:48:10 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20
	Make classes FIND-CLASSable early, for MOP programming,
	and for compatibility with other Lisps.

	* pcl/std-class.lisp (update-class): (setf find-class) here.
	(shared-initialize) <:after std-class>: Call update-class
	after setting the class predicate.

	Make ENSURE-CLASS-USING-CLASS AMOP compliant.

	* pcl/std-class.lisp (ensure-class, ensure-class-using-class)
	(ensure-class-using-class): Exchange first and second arg for AMOP
	compliance.

	* pcl/generic-functions.lisp (ensure-non-standard-class):
	Likewise.

	* pcl/braid.lisp (ensure-non-standard-class): Likewise.

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Mar 26 17:15:22 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.19: +1 -17 lines
Diff to previous 1.19
	* 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.

Revision 1.19 - (view) (annotate) - [select for diffs]
Tue Mar 25 12:40:04 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18
	* generic-functions.lisp (make-instance): Add &key
	&allow-other-keys.  This is ANSI-compliant and prevents occasional
	bogus warnings about unknown keyword arguments.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sat Mar 22 16:15:16 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.17: +5 -25 lines
Diff to previous 1.17
* bootfiles/18e/boot[12].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.

Revision 1.17.2.1 - (view) (annotate) - [select for diffs]
Sun Mar 9 12:47:21 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.17: +5 -25 lines
Diff to previous 1.17 , to next main 1.29
*** empty log message ***

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri Jan 3 18:50:23 2003 UTC (11 years, 3 months ago) by pmai
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2
Branch point for: cold-pcl, release-18e-branch
Changes since 1.16: +4 -1 lines
Diff to previous 1.16
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.

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Dec 18 19:16:28 2002 UTC (11 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.15: +3 -1 lines
Diff to previous 1.15
Entomotomy Bug: pcl-error-reporting-unhelpful-on-missing-primary-method

Merged patches and ideas by Gerd Moellmann and Christophe Rhodes to improve
error reporting on missing applicable primary methods for standard method-
combination to report the arguments that were passed to the GF in question.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Nov 22 01:05:23 2002 UTC (11 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.14: +7 -1 lines
Diff to previous 1.14
Entomotomy Bug: generic-function-declarations-unimplemented

Committed adapted patch from Gerd Moellmann via SBCL that implements the
mandated GFs generic-functions-declarations and (setf g-f-declarations).

Revision 1.14 - (view) (annotate) - [select for diffs]
Fri Nov 22 00:39:56 2002 UTC (11 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.13: +3 -1 lines
Diff to previous 1.13
Entomotomy Bug: no-next-method-unimplemented

Applied patch by Gerd Moellmann to implement the ANSI-mandated generic
function no-next-method.

Revision 1.13 - (view) (annotate) - [select for diffs]
Sat Oct 19 13:27:41 2002 UTC (11 years, 6 months ago) by pmai
Branch: MAIN
Changes since 1.12: +12 -2 lines
Diff to previous 1.12
Added comment on the generic function compute-effective-method explaining
why it only returns one argument, instead of two as is suggested in AMOP
(researched by Gerd Moellmann).

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Oct 11 15:15:03 2002 UTC (11 years, 6 months ago) by pmai
Branch: MAIN
Changes since 1.11: +4 -1 lines
Diff to previous 1.11
Committed patch by Gerd Moellmann to add the AMOP-mandated generic function
generic-function-argument-precedence-order.  Closes the Entomotomy bug
generic-function-argument-precedence-order-missing.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Oct 9 14:19:11 2002 UTC (11 years, 6 months ago) by pmai
Branch: MAIN
Changes since 1.10: +3 -3 lines
Diff to previous 1.10
Patches by Gerd Moellmann to improve checking of GF lambda lists for
well-formedness, as described in ANSI Section 3.4.2 Generic Function
Lambda Lists.  See also bug generic-function-lambda-list-checking-too-lax
in entomotomy.

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Jun 5 23:00:11 2002 UTC (11 years, 10 months ago) by pmai
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.9: +2 -2 lines
Diff to previous 1.9
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).

Revision 1.4.2.3 - (view) (annotate) - [select for diffs]
Tue May 23 16:38:54 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18c, RELEASE_18d
Changes since 1.4.2.2: +5 -0 lines
Diff to previous 1.4.2.2 , to branch point 1.4 , to next main 1.29
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.9 - (view) (annotate) - [select for diffs]
Sun May 30 23:14:00 1999 UTC (14 years, 10 months ago) by pw
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8
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.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sun Dec 20 04:30:20 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.7: +5 -0 lines
Diff to previous 1.7
Add CMUCL style file-comments; from Peter Van Eynde.

Revision 1.4.2.2 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:25:32 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.4.2.1: +10 -7 lines
Diff to previous 1.4.2.1 , to branch point 1.4
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.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Jun 5 02:53:52 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.6: +7 -7 lines
Diff to previous 1.6
Rework the PCL class hierarchy to better match the disjoint instance
and funcallable-instance types within CMUCL. Add the new class
funcallable-standard-object, and the new class std-object as a
superclass of both standard-object and
funcallable-standard-object. Generic-functions are now
funcallable-standard-objects implemented as FINs and disjoint from
standard-objects which are implemented as instances in CMUCL, fixing
some problems in the type system.

This change moves the PCL implementation away from the MOP
specification which requires that generic-functions be
standard-objects. However ANSI CL does not require generic functions
to be standard-objects and the MOP author Gregor Kiczales suggests it
is appropriate for generic functions to be disjoint from
standard-objects.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed May 27 03:17:54 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.5: +3 -0 lines
Diff to previous 1.5
Implement the ANSI CL find-method generic-function.

Revision 1.4.2.1 - (view) (annotate) - [select for diffs]
Sat Aug 30 18:41:35 1997 UTC (16 years, 7 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18a
Changes since 1.4: +12 -10 lines
Diff to previous 1.4
Re-define the documentation function according to the ANSI CL spec.;
the doc-type argument is no longer optional.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Aug 30 18:40:25 1997 UTC (16 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.4: +12 -10 lines
Diff to previous 1.4
Re-define the documentation function according to the ANSI CL spec.;
the doc-type argument is no longer optional.

Revision 1.4 - (view) (annotate) - [select for diffs]
Tue Jan 12 18:25:09 1993 UTC (21 years, 3 months ago) by phg
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.3: +4 -2 lines
Diff to previous 1.3
September-16-92-PCL-e has been incorporated into the CMUCL sources thanks
to Rick Harris.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Nov 9 15:19:52 1992 UTC (21 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.2: +664 -202 lines
Diff to previous 1.2
This is September 92 PCL.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Aug 1 15:28:53 1992 UTC (21 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.1: +98 -180 lines
Diff to previous 1.1
This is July 92 PCL

Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Jun 1 18:38:10 1992 UTC (21 years, 10 months ago) by ram
Branch: MAIN
This is March-92-PCL-2a.

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5