/[cmucl]/src/pcl/braid.lisp
ViewVC logotype

Log of /src/pcl/braid.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.52 - (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.51: +15 -14 lines
Diff to previous 1.51
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.51.20.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.51: +2 -1 lines
Diff to previous 1.51 , to next main 1.52
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.51.18.2 - (view) (annotate) - [select for diffs]
Sat Feb 13 01:28:04 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-19-1000
Changes since 1.51.18.1: +14 -14 lines
Diff to previous 1.51.18.1 , to branch point 1.51 , to next main 1.52
Mark translatable strings; regenerate cmucl.pot and cmucl.po

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

Revision 1.50.4.1 - (view) (annotate) - [select for diffs]
Thu Jun 19 03:30:45 2008 UTC (5 years, 10 months ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-snapshot-2009-05, unicode-snapshot-2009-06, 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-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: unicode-utf16-extfmt-branch
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 , to next main 1.52
Merge changes from HEAD to the unicode-utf16 branch.

Revision 1.51 - (view) (annotate) - [select for diffs]
Sat May 24 14:41:39 2008 UTC (5 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, pre-merge-intl-branch, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, 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-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, amd64-dd-branch, intl-2-branch, intl-branch, portable-clx-branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.50: +2 -1 lines
Diff to previous 1.50
Fix issue with slot-value-using-class and
get-accessor-method-function.

See cmucl-imp, 2008/04/03, PCL bug?.  Bug and link to solution
provided by Hans Hubner.  Solution based on sbcl patch 0.8.14.27.

Here's the test case:

(in-package :cl-user)

(use-package :pcl)

(defclass test-metaclass (standard-class)
  ())

(defmethod validate-superclass ((sub test-metaclass) (super standard-class))
  t)

(defmethod (setf slot-value-using-class) :before (newval (class test-metaclass) object slotd)
  (print 'setf-slot-value-using-class-before))

(defmethod (setf slot-value-using-class) :after (newval (class test-metaclass) object slotd)
  (print 'setf-slot-value-using-class-after))

(defclass test-class ()
  (slot)
  (:metaclass test-metaclass))

Revision 1.50 - (view) (annotate) - [select for diffs]
Thu Sep 13 13:27:25 2007 UTC (6 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, unicode-utf16-base, unicode-utf16-string-support
Branch point for: release-19e-branch, unicode-utf16-branch
Changes since 1.49: +1 -5 lines
Diff to previous 1.49
Oops.  Really get rid of lisp::sxhash-instance.

Revision 1.49 - (view) (annotate) - [select for diffs]
Thu Sep 13 04:11:45 2007 UTC (6 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48
Untracing of flet/labels functions wasn't working and neither was
retracing flet/labels functions.  This was caused by the hash-table in
*TRACE-FUNCTIONS* using an EQ test.  This doesn't work well when the
functions are lists like (FLET INNER OUTER).

code/ntrace.lisp:
o Change *TRACED-FUNCTIONS* to use an EQUAL table so lists can match.

pcl/braid.lisp:
o Move LISP::SXHASH-INSTANCE to low.lisp because we need it defined
  earlier because of the change to tracing.  Can't build PCL without
  this change.

pcl/low.lisp:
o LISP::SXHASH-INSTANCE moved here.

Revision 1.48 - (view) (annotate) - [select for diffs]
Mon Aug 25 20:10:41 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: 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, lisp-executable-base, mod-arith-base, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, 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, 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
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, lisp-executable, mod-arith-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch
Changes since 1.47: +15 -1 lines
Diff to previous 1.47
	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.46.2.1 - (view) (annotate) - [select for diffs]
Mon Aug 25 17:06:43 2003 UTC (10 years, 8 months ago) by gerd
Branch: dynamic-extent
Changes since 1.46: +3 -2 lines
Diff to previous 1.46 , to next main 1.52
Merge with HEAD.

Revision 1.47 - (view) (annotate) - [select for diffs]
Sat Aug 16 14:02:37 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: sparc_gencgc_merge
Changes since 1.46: +3 -2 lines
Diff to previous 1.46
	* src/pcl/braid.lisp (bootstrap-meta-braid): Add missing
	arg to error.

Revision 1.46 - (view) (annotate) - [select for diffs]
Wed Jun 18 09:23:09 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.45: +2 -2 lines
Diff to previous 1.45
	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::.

Revision 1.45 - (view) (annotate) - [select for diffs]
Wed Jun 11 19:17:25 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.44: +2 -3 lines
Diff to previous 1.44
	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.44 - (view) (annotate) - [select for diffs]
Fri Jun 6 14:00:05 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.43: +9 -8 lines
Diff to previous 1.43
	Problems with class precedence lists found by Paul Dietz.

	* src/pcl/defs.lisp (toplevel): Don't compute the cpl of built-in
	classes from the kernel's layout-inherits because that gives wrong
	results, for instance for null.
	(standard-method): Make method the first superclass.

	* src/pcl/braid.lisp (bootstrap-built-in-classes): Use
	kernel:std-compute-class-precedence-list.

Revision 1.43 - (view) (annotate) - [select for diffs]
Sun May 25 14:33:50 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.42: +6 -10 lines
Diff to previous 1.42
	CLHS 7.6.5 keyword argument checking for calls to generic
	functions.  Found by Paul Dietz, of course.  This also includes
	some minor code cleanup and a fix for a bug caused by a typo.

	* src-gf/pcl/std-class.lisp
	(compute-effective-slot-definition-initargs):
	Reformatted to make it readable on a tty.

	* src-gf/pcl/methods.lisp (set-condition-svuc-method): Fix a typo.

	* src-gf/pcl/low.lisp (parse-lambda-list): Add an ignore
	declaration.

	* src-gf/pcl/init.lisp (valid-initargs): Use method-lambda-list*.

	* src-gf/pcl/dfun.lisp (use-caching-dfun-p): Use
	generic-function-methods*.
	(use-constant-value-dfun-p): Ditto.
	(use-dispatch-dfun-p): Don't use dispatching dfuns when we must
	check keyword arguments according to CLHS 7.6.5, because this
	computes emfs for sets methods that aren't applicable together in
	the usual sense; this screws up emf keyword argument checking, of
	course.
	(make-initial-dfun): Use gf-arg-info*.
	(update-dfun): Use generic-function-name*.
	(final-accessor-dfun-type, make-accessor-table)
	(compute-applicable-methods-using-types)
	(compute-applicable-methods-using-types): Likewise.

	* src-gf/pcl/combin.lisp (standard-compute-effective-method):
	Don't use the single-call-method optimization if we must
	check keyword arguments according to CLHS 7.6.5.
	(callable-generator-for-emf): Rewritten to add a keyword
	argument check to the emf.
	(emfs-must-check-applicable-keywords-p)
	(compute-applicable-keywords, check-applicable-keywords):
	New functions.
	(odd-number-of-keyword-arguments, invalid-keyword-argument):
	Moved here from boot.lisp.
	(make-effective-method-lambda): Add a check-applicable-keywords
	form to the emf, if appropriate.
	(memf-test-converter, memf-code-converter)
	(memf-constant-converter): Deal with check-applicable-keywords.
	(*applicable-methods*): New variable.
	(make-callable): Bind it.
	(make-emf-name): Use generic-function-name*.

	* src/pcl/braid.lisp (ensure-non-standard-class): Remove
	an used branch.

	* src/pcl/boot.lisp (*make-method-lambda-gf-name*): Removed.
	(expand-defmethod): Don't bind it.
	(make-method-lambda-internal): Don't add &key to the method
	function's lambda-list if the gf has &key.
	(bind-args): Rewritten.  Don't do keyword checking as this is
	done in emfs now.
	(get-key-arg, get-key-arg1): Simplified; do less checking.
	(generic-function-name*, generic-function-methods*)
	(gf-arg-info*, method-lambda-list*): New functions.
	(check-method-arg-info): Use them.
	(gf-lambda-list-from-method): New function.
	(gf-lambda-list): Use it.  Don't add &allow-other-keys to a
	gf's lambda-list if a method has &key.
	(get-generic-function-info): Use gf-arg-info*.
	(parse-specialized-lambda-list): Add an ignore declaration.
	(odd-number-of-keyword-arguments, invalid-keyword-argument):
	Moved to combin.lisp.
	(check-generic-function-lambda-list): Remove &more stuff
	because that's checked elsewhere now (and Python can even
	tell it is).

	* src-gf/pcl/ctor.lisp (install-optimized-constructor): Remove
	an unmatched ).

Revision 1.42 - (view) (annotate) - [select for diffs]
Mon May 19 19:16:26 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41
	Allow (SETF SLOT-VALUE) on read-only structure slots, like LW and
	ACL.  Problem found by Christophe Rhodes.

	* src/pcl/low.lisp (structure-slotd-writer-function): Create
	a writer function for read-only slots.

	* src/pcl/braid.lisp (ensure-non-standard-class): Call
	structure-slotd-writer-function with additional arg.

Revision 1.41 - (view) (annotate) - [select for diffs]
Thu May 15 15:43:56 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40
	* src/pcl/braid.lisp (make-class-predicate): Use
	without-package-locks.

Revision 1.40 - (view) (annotate) - [select for diffs]
Tue May 13 10:49:01 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.39: +3 -2 lines
Diff to previous 1.39
	* src/pcl/ctor.lisp (constructor-function-form): Don't
	handle condition classes.

	* src/pcl/braid.lisp (ensure-non-standard-class): Make
	an initfunction for condition slots if there is none.

	* src/pcl/slots.lisp (allocate-instance) <condition-class>: New
	method.

Revision 1.39 - (view) (annotate) - [select for diffs]
Tue May 13 10:16:59 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38
	* src/pcl/cache.lisp (dfun-arg-symbol, slot-vector-symbol):
	Use make-.variable..
	* src/pcl/ctor.lisp (make-instance->constructor-call)
	(slot-init-forms): Ditto.

	* src/pcl/low.lisp (make-.variable.): New function.

	* src/pcl/braid.lisp (ensure-non-standard-class): Remove ext:.
	* src/pcl/defclass.lisp (defclass): Ditto.
	* src/pcl/low.lisp (set-function-name): Ditto.

	* src/pcl/ctor.lisp (make-instance->constructor-call): Don't
	do the without-package-locks around the let-form.
	(install-optimized-constructor): Do it here.
	(slot-init-forms): Don't do it here.

Revision 1.38 - (view) (annotate) - [select for diffs]
Mon May 12 16:30:42 2003 UTC (10 years, 11 months ago) by emarsden
Branch: MAIN
Changes since 1.37: +10 -9 lines
Diff to previous 1.37
Add package locks. Bootfile boot8.lisp allows this to build without
a cross-compile (or just select the CLOBBER-IT restart).

   - two extra PACKAGE-LOCK and PACKAGE-DEFINITION-LOCK slots added to
     the package structure. These can be modified using the
     EXT:PACKAGE-LOCK and EXT:PACKAGE-DEFINITION-LOCK accessors.

   - macro EXT:WITHOUT-PACKAGE-LOCKS that evaluates forms with all
     package locks disabled (this is done by binding the global
     variable CL::*ENABLE-PACKAGE-LOCKED-ERRORS*)

   - new PACKAGE-LOCKED-ERROR condition

   - in SETF-FDEFINITION-HOOK and in the DEFMACRO, DEFSTRUCT, DEFTYPE
     and DEFCLASS defining forms, check whether the definition would
     modify a package whose definition-lock is enabled, and signal a
     package-locked-error condition with restarts that allow you to
     unlock the package or ignore the lock

   - in EXPORT, UNEXPORT etc check whether the target package is
     guarded by a package-lock, and signal an error

   - disable package locks when loading a subsystem

   - disable package locks in certain areas of PCL and in the
     MAKE-LOAD-FORM support of the compiler, where code is generated
     inside system packages at runtime

Revision 1.37 - (view) (annotate) - [select for diffs]
Sun May 11 11:30:35 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.36: +33 -25 lines
Diff to previous 1.36
	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.36 - (view) (annotate) - [select for diffs]
Sat May 10 19:09:02 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.35: +18 -3 lines
Diff to previous 1.35
	SLOT-EXISTS-P is supposed to work on conditions.  Detected
	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.

Revision 1.35 - (view) (annotate) - [select for diffs]
Sun May 4 13:11:22 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.34: +7 -7 lines
Diff to previous 1.34
	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.34 - (view) (annotate) - [select for diffs]
Sun Apr 6 09:10:09 2003 UTC (11 years ago) by gerd
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.33: +3 -2 lines
Diff to previous 1.33
	Fix TYPEP/SUBTYPEP problems with unfinalized and
	forward-referenced classes.

	* pcl/std-class.lisp (class-finalized-p): Method removed.
	(*allow-forward-referenced-classes-in-cpl-p*): New variable.
	(make-preliminary-layout): New function.
	(shared-initialize) <:after std-class>: Call
	make-preliminary-layout.
	(shared-initialize) <:after forward-referenced-class>: New method
	calling make-preliminary-layout.
	(shared-initialize) <:after structure-class>: Set finalized-p slot
	to true.
	(update-slots): Likewise.
	(shared-initialize) <:after condition-class>: Likewise.
	(inform-type-system-about-class): New method for
	forward-referenced classes.
	(class-has-a-forward-referenced-superclass-p): Moved to info.lisp.

	* pcl/cpl.lisp (compute-std-cpl-phase-1): Allow forward-referenced
	classes in the cpl if *allow-forward-referenced-classes-in-cpl-p*
	is true.

	* info.lisp (class-has-a-forward-referenced-superclass-p): Moved
	here from std-class.lisp.

	* pcl/cache.lisp (make-wrapper): Handle forward-referenced
	classes.

	* pcl/braid.lisp (bootstrap-initialize-class): Set the finalized-p
	slot.

	* pcl/defs.lisp (class): Add slot finalized-p.

	* pcl/rt/defclass.lisp (defclass-types.[0-5])
	(defclass-forward-referenced-class.0): New tests.

	Misc fixes.

	* pcl/defclass.lisp (expand-defclass): Remove code papering
	over a potential compiler bug.

	* pcl/macros.lisp (find-class-cell-make-instance-function-keys):
	Removed.
	(setf find-class): Add errorp and environment
	parameters, call (setf kernel::find-class) if new-value is nil.

Revision 1.33 - (view) (annotate) - [select for diffs]
Sun Mar 30 18:43:59 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.32: +13 -4 lines
Diff to previous 1.32
	Update CLOS STRUCTURE-CLASSes on structure changes.

	* pcl/braid.lisp (ensure-non-standard-class): Add optional
	parameter existing-class.
	(reinitialize-structure-class): New function.
	(toplevel): Push it on kernel::*defstruct-hooks*.

	* code/defstruct.lisp (*defstruct-hooks*): New variable.
	(%defstruct): Call these hooks.

	* tools/pclcom.lisp (find-package): Remove
	pcl::reinitialize-structure-class from kernel::*defstruct-hooks*.

Revision 1.32 - (view) (annotate) - [select for diffs]
Sun Mar 30 13:42:06 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.31: +12 -8 lines
Diff to previous 1.31
	* pcl/braid.lisp (ensure-non-standard-class): Handle the case
	that structure slot accessors are not yet fboundp.

Revision 1.31 - (view) (annotate) - [select for diffs]
Sun Mar 30 00:48:10 2003 UTC (11 years ago) by gerd
Branch: MAIN
Changes since 1.30: +12 -11 lines
Diff to previous 1.30
	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.30 - (view) (annotate) - [select for diffs]
Wed Mar 26 17:15:22 2003 UTC (11 years, 1 month ago) by gerd
Branch: MAIN
Changes since 1.29: +4 -8 lines
Diff to previous 1.29
	* 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.29 - (view) (annotate) - [select for diffs]
Sat Mar 22 16:15:18 2003 UTC (11 years, 1 month ago) by gerd
Branch: MAIN
Changes since 1.28: +150 -114 lines
Diff to previous 1.28
* 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.28.2.7 - (view) (annotate) - [select for diffs]
Sat Mar 22 12:28:19 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28.2.6: +18 -20 lines
Diff to previous 1.28.2.6 , to branch point 1.28 , to next main 1.52
* 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.

Revision 1.28.2.6 - (view) (annotate) - [select for diffs]
Fri Mar 21 11:07:42 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28.2.5: +2 -3 lines
Diff to previous 1.28.2.5 , to branch point 1.28
(ensure-non-standard-class): Remove stale variable
binding.

Revision 1.28.2.5 - (view) (annotate) - [select for diffs]
Thu Mar 20 23:41:01 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28.2.4: +35 -28 lines
Diff to previous 1.28.2.4 , to branch point 1.28
* 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.

Revision 1.28.2.4 - (view) (annotate) - [select for diffs]
Thu Mar 20 15:30:28 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28.2.3: +12 -4 lines
Diff to previous 1.28.2.3 , to branch point 1.28
(set-class-translation): Take built-in-class
translations into account.

Revision 1.28.2.3 - (view) (annotate) - [select for diffs]
Wed Mar 19 16:33:23 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28.2.2: +28 -21 lines
Diff to previous 1.28.2.2 , to branch point 1.28
	* pcl/*.lisp: Changes for lisp:class = pcl:class.

Revision 1.28.2.2 - (view) (annotate) - [select for diffs]
Sun Mar 16 13:10:16 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28.2.1: +3 -3 lines
Diff to previous 1.28.2.1 , to branch point 1.28
* low.lisp (symbolicate): Use ext:symbolicate.

* braid.lisp (initial-classes-and-wrappers): Use symbols
instead of strings as arguments to symbolicate.
(bootstrap-meta-braid): Likewise.

* defs.lisp (get-built-in-class-symbol)
(get-built-in-wrapper-symbol): Likewise.

Revision 1.28.2.1 - (view) (annotate) - [select for diffs]
Sun Mar 9 12:47:20 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.28: +82 -65 lines
Diff to previous 1.28
*** empty log message ***

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Dec 18 19:16:27 2002 UTC (11 years, 4 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.27: +15 -1 lines
Diff to previous 1.27
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.27 - (view) (annotate) - [select for diffs]
Fri Nov 22 00:39:55 2002 UTC (11 years, 5 months ago) by pmai
Branch: MAIN
Changes since 1.26: +18 -1 lines
Diff to previous 1.26
Entomotomy Bug: no-next-method-unimplemented

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

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue Oct 29 16:20:44 2002 UTC (11 years, 5 months ago) by pmai
Branch: MAIN
Changes since 1.25: +3 -8 lines
Diff to previous 1.25
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.

Revision 1.25 - (view) (annotate) - [select for diffs]
Sat Oct 19 14:56:02 2002 UTC (11 years, 6 months ago) by pmai
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24
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.

Revision 1.24 - (view) (annotate) - [select for diffs]
Sat Oct 19 14:32:43 2002 UTC (11 years, 6 months ago) by pmai
Branch: MAIN
Changes since 1.23: +4 -4 lines
Diff to previous 1.23
Committed patch by Gerd Moellmann to rename the constant *slot-unbound* to
the more fitting name +slot-unbound+.

Revision 1.23 - (view) (annotate) - [select for diffs]
Tue Aug 27 19:01:37 2002 UTC (11 years, 7 months ago) by pmai
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.22: +2 -2 lines
Diff to previous 1.22
Patch by Gerd Moellmann to turn old-style into new-style eval-when's in
the PCL code base.

Revision 1.22 - (view) (annotate) - [select for diffs]
Mon Aug 26 02:23:11 2002 UTC (11 years, 8 months ago) by pmai
Branch: MAIN
Changes since 1.21: +24 -24 lines
Diff to previous 1.21
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.

Revision 1.21 - (view) (annotate) - [select for diffs]
Wed Jul 3 10:57:17 2002 UTC (11 years, 9 months ago) by pmai
Branch: MAIN
Changes since 1.20: +7 -2 lines
Diff to previous 1.20
Temporarily reverse the fix to SBCL bug 140, which breaks certain
cases of the instance-updating mechanism of PCL, until we fix those
issues, too.

Revision 1.20 - (view) (annotate) - [select for diffs]
Sat May 25 02:42:52 2002 UTC (11 years, 11 months ago) by pmai
Branch: MAIN
Changes since 1.19: +2 -9 lines
Diff to previous 1.19
This fixes BUG 140 of the SBCL BUGS file, where redefining a class
with a changed CPL didn't update the CMUCL type system.  This was
caused not by type-cache lossage, but rather by missing calls to
invalidate-layout for the PCL wrappers.  The conducted fix is a bit
experimental, since the call to register-layout explicitly avoided the
call to invalidate-layout, so one suspects there was a reason for
this.  However all conducted tests didn't show any problems.

Revision 1.7.2.7 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:51:15 2002 UTC (12 years, 1 month ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.7.2.6: +21 -4 lines
Diff to previous 1.7.2.6 , to branch point 1.7 , to next main 1.52
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.19 - (view) (annotate) - [select for diffs]
Sun Jul 8 16:24:39 2001 UTC (12 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.18: +21 -4 lines
Diff to previous 1.18
From Eric Marsden:

   NO-APPLICABLE-METHOD condition subclasses TYPE-ERROR. This fixes a
   few more clocc-ansi-test-revealed bugs.

Revision 1.7.2.6 - (view) (annotate) - [select for diffs]
Sun Aug 6 19:13:48 2000 UTC (13 years, 8 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.7.2.5: +4 -3 lines
Diff to previous 1.7.2.5 , to branch point 1.7
o Add the new function order-layout-inherits to correctly order the
  layouts within the layout-inherits vector. This ensures that
  the compiler can generate inline type tests for hierarchical classes.

o Modify the definition of the stream class to be hierarchical.

o Have the condition classes correctly order their layout-inherits
  so that the hierarchical condition class is placed at it specified depth.

o Enhance the compiler instance typep transform to generate inline
  type tests for hierarchical classes, not just for structures.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sun Aug 6 19:12:33 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.17: +4 -3 lines
Diff to previous 1.17
o Add the new function order-layout-inherits to correctly order the
  layouts within the layout-inherits vector. This ensures that
  the compiler can generate inline type tests for hierarchical classes.

o Modify the definition of the stream class to be hierarchical.

o Have the condition classes correctly order their layout-inherits
  so that the hierarchical condition class is placed at it specified depth.

o Enhance the compiler instance typep transform to generate inline
  type tests for hierarchical classes, not just for structures.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sun Aug 6 19:11:13 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.16: +4 -12 lines
Diff to previous 1.16
Just grab the lisp class direct-superclasses for the pcl
structure-class direct superclasses. This handles both normal
structures with a single superclass, and other structure like classes
such as conditions and streams which may have multiple superclasses.

Revision 1.7.2.5 - (view) (annotate) - [select for diffs]
Sun Aug 6 19:11:01 2000 UTC (13 years, 8 months ago) by dtc
Branch: RELENG_18
Changes since 1.7.2.4: +4 -12 lines
Diff to previous 1.7.2.4 , to branch point 1.7
Just grab the lisp class direct-superclasses for the pcl
structure-class direct superclasses. This handles both normal
structures with a single superclass, and other structure like classes
such as conditions and streams which may have multiple superclasses.

Revision 1.7.2.4 - (view) (annotate) - [select for diffs]
Fri Aug 4 10:34:58 2000 UTC (13 years, 8 months ago) by pw
Branch: RELENG_18
Changes since 1.7.2.3: +1 -6 lines
Diff to previous 1.7.2.3 , to branch point 1.7
These changes remove some obsolete and unused type system interface codes,
and introduces code to "inform-type-system-about-std-class". The effect
of this new code is to put minimal class definitions into the compile-time
environment to prevent undefined-type warnings. These definitions are
replaced with the correct class defs at load-time.

Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Aug 3 16:58:55 2000 UTC (13 years, 8 months ago) by pw
Branch: MAIN
Changes since 1.15: +1 -6 lines
Diff to previous 1.15
These changes remove some obsolete and unused type system interface codes,
and introduces code to "inform-type-system-about-std-class". The effect
of this new code is to put minimal class definitions into the compile-time
environment to prevent undefined-type warnings. These definitions are
replaced with the correct class defs at load-time.

Revision 1.7.2.3 - (view) (annotate) - [select for diffs]
Tue May 23 16:38:41 2000 UTC (13 years, 11 months ago) by pw
Branch: RELENG_18
Changes since 1.7.2.2: +11 -181 lines
Diff to previous 1.7.2.2 , to branch point 1.7
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.15 - (view) (annotate) - [select for diffs]
Sun May 30 23:13:52 1999 UTC (14 years, 10 months ago) by pw
Branch: MAIN
Changes since 1.14: +9 -183 lines
Diff to previous 1.14
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.14 - (view) (annotate) - [select for diffs]
Sun Dec 20 04:30:16 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.13: +4 -0 lines
Diff to previous 1.13
Add CMUCL style file-comments; from Peter Van Eynde.

Revision 1.7.2.2 - (view) (annotate) - [select for diffs]
Sun Jul 19 01:06:16 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.7.2.1: +7 -4 lines
Diff to previous 1.7.2.1 , to branch point 1.7
Update from the current main branch.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Jul 16 11:30:20 1998 UTC (15 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.12: +7 -4 lines
Diff to previous 1.12
Fix for the handling of the direct-superclasses of the CMUCL structure
based conditions; only the first direct superclass was being
recognised. The PCL generated CPL for the conditions is now valid even
in the presence of multiple direct superclasses.

Revision 1.7.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:25:26 1998 UTC (15 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.7: +40 -11 lines
Diff to previous 1.7
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.12 - (view) (annotate) - [select for diffs]
Sun Jun 7 18:01:19 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.11: +0 -1 lines
Diff to previous 1.11
Define *slot-unbound* to be a constant, and adjust some of the slot
unbound tests to improve the performance of the compiled code.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri Jun 5 02:53:51 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.10: +7 -3 lines
Diff to previous 1.10
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.10 - (view) (annotate) - [select for diffs]
Mon May 4 01:27:22 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.9: +4 -0 lines
Diff to previous 1.9
Gray streams support:
* Rename the 'stream structure class to sys:lisp-stream.
* Add a new none hierarchical 'stream built-in class which inherits
  from: instance, t.
* Hack in the new stream class as a mixin for the structure base
  lisp-stream class which now inherits from: stream, structure-object,
  instance, t.
* Add a new 'fundamental-stream standard-class which includes 'stream
  as a mixin, and add PCL hacks to allow this to be redefined after PCL is
  loaded to be (defclass fundamental-stream (standard-object stream) ...).
* Add appropriate support to the base stream functions to dispatch to
  the Gray stream functions for the handling of fundamental-streams.
  Some of the lisp-streams encapsulating CLOS streams still need
  a little work.

Revision 1.9 - (view) (annotate) - [select for diffs]
Mon Apr 6 02:46:28 1998 UTC (16 years ago) by dtc
Branch: MAIN
Changes since 1.8: +16 -0 lines
Diff to previous 1.8
Enhance the performance of allocate-standard-instance for CMUCL, by
inlining the slots vector allocation and initialisation.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sun Dec 14 20:41:04 1997 UTC (16 years, 4 months ago) by pw
Branch: MAIN
Changes since 1.7: +12 -6 lines
Diff to previous 1.7
This set of changes enables the use of forward referenced classes in PCL.
The problem was(is) that the wrapper object needed to connect the Lisp
type system to PCL classes doesn't exist until the forward-referenced-class
is defined. At that time all the subclasses of it are initialized and
wrappers attached. In the meantime, the actual forward referenced class is
an instance of pcl::forward-referenced-class and any subclasses are
pcl class instances with most slots nil.

The fix herein arranges for UPDATE-LISP-CLASS-LAYOUT to also set
the lisp:class-name and use (setf lisp:find-class) to connect the
new layout to the Lisp class system.

An undesired consequence of this is that DEFCLASS can't return a valid
class object unless all superclasses are defined. This shouldn't be a
real problem as the classes can't be used in the intermediate state,
but the HyperSpec says DEFCLASS returns a class object. We return
a valid class object or NIL.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:31:58 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.6: +81 -17 lines
Diff to previous 1.6
Werkowskis source kit 1.03.7

Revision 1.6.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jul 20 15:50:42 1993 UTC (20 years, 9 months ago) by ram
Branch: cmu
Changes since 1.6: +75 -15 lines
Diff to previous 1.6 , to next main 1.52
Changed uses of %STD-INSTANCE-xxx to STD-INSTANCE-xxx, since there's
no reason for using this more internal form.
Changed stuff to use INSTANCE-LAMBDA.
Changed early uses of MAKE-WRAPPER to BOOT-MAKE-WRAPPER.
Only set wrapper-instance-slots-layout and class-slots on layouts
that are wrappers.
Some changes to coordinate the lisp:find-class namespace.
WRAPPER-OF is now an inline call to KERNEL:LAYOUT-OF.
Added code to update the Lisp type system info.

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

Revision 1.5 - (view) (annotate) - [select for diffs]
Mon Nov 9 15:18:08 1992 UTC (21 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.4: +469 -609 lines
Diff to previous 1.4
This is September 92 PCL.

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

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Jun 1 18:37:26 1992 UTC (21 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.2: +341 -121 lines
Diff to previous 1.2
This is March-92-PCL-2a.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Oct 19 17:20:49 1991 UTC (22 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.1: +25 -9 lines
Diff to previous 1.1
Merged with latest PCL version.

Revision 1.1.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Oct 19 16:44:17 1991 UTC (22 years, 6 months ago) by ram
Changes since 1.1: +25 -9 lines
Diff to previous 1.1 , to next main 1.52
*** empty log message ***

Revision 1.1 - (view) (annotate) - [select for diffs]
Sun Aug 12 03:45:57 1990 UTC (23 years, 8 months ago) by wlott
Branch: MAIN
Initial revision

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