/[cmucl]/src/code/defstruct.lisp
ViewVC logotype

Log of /src/code/defstruct.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.103 - (view) (annotate) - [select for diffs]
Sun Dec 26 14:54:33 2010 UTC (3 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09
Changes since 1.102: +2 -2 lines
Diff to previous 1.102 , to selected 1.7
Allow more than one keyword constructor for defstruct.  Bug and fix
from Rob Warnock.

Revision 1.102 - (view) (annotate) - [select for diffs]
Fri Apr 23 13:23:29 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20b, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, release-20b-pre1, release-20b-pre2, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, 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.101: +3 -1 lines
Diff to previous 1.101 , to selected 1.7
Add source location info for defstructs and deftypes.

code/defstruct.lisp:
o Save source info for defstructs

code/macros.lisp:
o Save source info for deftypes.

compiler/globaldb.lisp:
o Add comments that the info type source-location defvar also includes
  defparameter, defconstant, defstruct, and deftype.

Revision 1.101 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:44 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.100: +52 -52 lines
Diff to previous 1.100 , to selected 1.7
Change uses of _"foo" to (intl:gettext "foo").  This is because slime
may get confused with source locations if the reader macros are
installed.

Revision 1.100 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:03 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.99: +8 -8 lines
Diff to previous 1.99 , to selected 1.7
Remove _N"" reader macro from docstrings when possible.

Revision 1.99 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:58 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.98: +63 -53 lines
Diff to previous 1.98 , to selected 1.7
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.98.14.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:48 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.98: +60 -51 lines
Diff to previous 1.98 , to next main 1.103 , to selected 1.7
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.98.12.5 - (view) (annotate) - [select for diffs]
Sun Feb 14 03:06:41 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.98.12.4: +7 -3 lines
Diff to previous 1.98.12.4 , to branch point 1.98 , to next main 1.103 , to selected 1.7
o Marking more translatable strings that were previously missed.
o Regenerated cmucl.pot and cmucl.po's.
o Fixed some problems with ko/cmucl.po introduced in last checkin.

Revision 1.98.12.4 - (view) (annotate) - [select for diffs]
Sat Feb 13 17:10:08 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.98.12.3: +4 -7 lines
Diff to previous 1.98.12.3 , to branch point 1.98 , to selected 1.7
Oops.  The restart-case :reports only have a stream parameter.

Revision 1.98.12.3 - (view) (annotate) - [select for diffs]
Wed Feb 10 14:07:36 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-working-2010-02-11-1000
Changes since 1.98.12.2: +10 -4 lines
Diff to previous 1.98.12.2 , to branch point 1.98 , to selected 1.7
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

Revision 1.98.12.2 - (view) (annotate) - [select for diffs]
Tue Feb 9 14:56:38 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.98.12.1: +48 -48 lines
Diff to previous 1.98.12.1 , to branch point 1.98 , to selected 1.7
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

Revision 1.98.12.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:47 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.98: +4 -1 lines
Diff to previous 1.98 , to selected 1.7
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.98 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:57 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, pre-merge-intl-branch, release-20a-base, release-20a-pre1, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-20A-BRANCH, amd64-dd-branch, intl-2-branch, intl-branch, portable-clx-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.97: +16 -17 lines
Diff to previous 1.97 , to selected 1.7
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

Revision 1.97.6.1 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:48 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06, unicode-utf16-extfmt-2009-06-11
Changes since 1.97: +16 -17 lines
Diff to previous 1.97 , to next main 1.103 , to selected 1.7
o Lots of spelling fixes from Paul.
o Add unicode codepoints in final-sigma.lisp (in case the characters
  there don't show up correctly).
o Support partial-fill in READ-INTO-STRING.

Revision 1.97 - (view) (annotate) - [select for diffs]
Fri Dec 22 17:39:41 2006 UTC (7 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, pre-telent-clx, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, 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, 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-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, 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-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.96: +30 -16 lines
Diff to previous 1.96 , to selected 1.7
Fix issue reported by Albert Reiner, cmucl-help, 2006/10/20, and fix
another issue with uninitialized &aux variables.

  (defstruct (foobar
               (:constructor make-foobar
                             (xxx
                              &key (aaa nil) (bbb nil)
                              &aux
                              (foobar-data xxx)
                              (aaa (or aaa
                                       (getf foobar-data :aaa)
                                       1))
                              (bbb (or bbb
                                       (getf foobar-data :bbb)
                                       (1+ aaa))))))
    (aaa (required-argument) :type fixnum)
    (bbb (required-argument) :type fixnum))

  (make-foobar nil) -> #<foobar :aaa 1 :bbb 2>

But CMUCL gives type errors.

To fix Albert's issue, modify CREATE-BOA-CONSTRUCTOR to keep track of
the &aux vars separately from the other arglist vars.  Adjust
CREATE-VECTOR-CONSTRUCTOR, CREATE-LIST-CONSTRUCTOR,
CREATE-STRUCTURE-CONSTRUCTOR, and CREATE-FIN-CONSTRUCTOR to take an
extra arg for the &aux vars.  For CREATE-STRUCTURE-CONSTRUCTOR, we
only put declarations for the other arglist vars.  To make sure we
store the right kinds of objects into the slots, we also wrap (the
<type> init) for each initial value.

Also CLHS 3.4.6 has an example of a boa constructor using an aux
variable without an initializer.  CMUCL was not handling that right.
Modify CREATE-BOA-CONSTRUCTOR to change the initializer to use (or
<aux> slot-default-value) to get the correct default value into the
slot if the aux variable doesn't.

Revision 1.95.2.1 - (view) (annotate) - [select for diffs]
Mon Dec 19 01:09:49 2005 UTC (8 years, 4 months ago) by rtoy
Branch: ppc_gencgc_branch
CVS Tags: ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06
Changes since 1.95: +3 -1 lines
Diff to previous 1.95 , to next main 1.103 , to selected 1.7
Merge code from main branch of 2005-12-17 to ppc gencgc branch.  Still
doesn't work of course.

Revision 1.96 - (view) (annotate) - [select for diffs]
Fri Oct 21 17:56:07 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: 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, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, 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
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, release-19d-branch
Changes since 1.95: +3 -1 lines
Diff to previous 1.95 , to selected 1.7
A name that is a declaration cannot be the name of a deftype,
condition, or defstruct, and vice versa, so signal an error if we try
to do that.

Revision 1.95 - (view) (annotate) - [select for diffs]
Tue Oct 5 21:57:27 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, 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
Branch point for: ppc_gencgc_branch, release-19b-branch, release-19c-branch
Changes since 1.94: +19 -2 lines
Diff to previous 1.94 , to selected 1.7
Don't use NTH to determine if a list is a named structure because the
list may not be a proper list.  Instead, use a special version of
NTHCDR that will exit early if we reach the end of a non-proper list.

Revision 1.94 - (view) (annotate) - [select for diffs]
Fri Sep 3 03:05:58 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-10
Changes since 1.93: +43 -30 lines
Diff to previous 1.93 , to selected 1.7
The CLHS entry for *PRINT-LENGTH* says

    If an object to be recursively printed has components and is at a
    level equal to or greater than the value of *print-level*, then
    the object is printed as ``#''.

Adjust the default structure printer and %print-unreadable-object to
do this.  This fixes the PRINT-LEVEL.2, PRINT-LEVEL.6, PRINT-LEVEL.8,
and PRINT-LEVEL.9. test failures.

Revision 1.93 - (view) (annotate) - [select for diffs]
Wed Mar 31 11:21:01 2004 UTC (10 years ago) by emarsden
Branch: MAIN
CVS Tags: amd64-merge-start, mod-arith-base, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09
Branch point for: mod-arith-branch, release-19a-branch
Changes since 1.92: +3 -3 lines
Diff to previous 1.92 , to selected 1.7
 - restarts when a package lock is triggered by DEFSTRUCT redefinition:
   disable the package-definition-lock instead of the package-lock (from
   Helmut Eller)

Revision 1.92 - (view) (annotate) - [select for diffs]
Fri Aug 8 11:32:52 2003 UTC (10 years, 8 months ago) by emarsden
Branch: MAIN
CVS Tags: dynamic-extent-base, lisp-executable-base, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable
Changes since 1.91: +5 -2 lines
Diff to previous 1.91 , to selected 1.7
Add a function EXT:UNLOCK-ALL-PACKAGES, that disables both the
structural and the definition locks for all existing packages. Add an
additional restart to the PACKAGE-LOCKED-ERROR signaling points that
allows the user to disable all packages then continue.

Package locks are initialized upon startup, so the unlocking only
takes effect during the current session. However, this function
doesn't suffer from the problem that affects
LISP::*ENABLE-PACKAGE-LOCKED-ERRORS* (which is bound by LOAD so can't
be set from an initialization file).

Revision 1.91 - (view) (annotate) - [select for diffs]
Wed Aug 6 19:01:18 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: sparc_gencgc
Branch point for: sparc_gencgc_branch
Changes since 1.90: +8 -1 lines
Diff to previous 1.90 , to selected 1.7
	Dynamic-extent closures for x86.  Use boot15.lisp for
	bootstrapping.

	(defun prn (fn)
	  (print (funcall fn)))

	(defun foo (x)
	  (flet ((bar () x))
	    (declare (dynamic-extent #'bar))
	    (prn #'bar)))

	=> The closure for BAR is allocated from the stack

	* src/compiler/node.lisp (lexenv): Add slot dynamic-extent.

	* src/compiler/ir1util.lisp (make-lexenv): Add keyword
	arg for dynamic-extent.

	* src/code/defstruct.lisp (%redefine-defstruct)
	[#+bootstrap-dynamic-extent]: Definition that corresponds
	to to the clobber-it restart.

	* src/compiler/ir1tran.lisp (process-dynamic-extent-declaration):
	Rewritten.

	* src/compiler/x86/alloc.lisp (make-closure): Add constant
	arg dynamic-extent, and use it for allocation.

	* src/compiler/ir2tran.lisp (ir2-convert-closure) [#+x86]:
	Pass dynamic-extent to the make-closure vop.

Revision 1.90 - (view) (annotate) - [select for diffs]
Fri Jun 20 10:34:37 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.89: +8 -5 lines
Diff to previous 1.89 , to selected 1.7
	Structure predicates used to signal an error when applied to an
	object that is an obsolete instances.  Reported by Andre Valente
	on cmucl-imp.

	* src/code/defstruct.lisp (typep-to-layout): Add no-error arg.
	(%defstruct): Call typep-to-layout with no-error true.

Revision 1.89 - (view) (annotate) - [select for diffs]
Wed Jun 18 09:23:11 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.88: +3 -3 lines
Diff to previous 1.88 , to selected 1.7
	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.88 - (view) (annotate) - [select for diffs]
Wed May 28 08:50:41 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.87: +2 -2 lines
Diff to previous 1.87 , to selected 1.7
	Structure slot names can be any symbol.  Found by Paul Dietz.

	* src/pcl/std-class.lisp (*allow-funny-slot-names*): Renamed
	from *allow-keyword-slot-names*.

	* src/pcl/methods.lisp (legal-slot-name-p): Allow any symbol
	if *allow-funny-slot-names* is true.
	(shared-initialize): Print the value of the :slot-name initarg.

	* src/code/defstruct.lisp (parse-1-dsd): Treat nil as symbol
	when used as a slot name.

Revision 1.87 - (view) (annotate) - [select for diffs]
Tue May 20 18:39:36 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.86: +26 -36 lines
Diff to previous 1.86 , to selected 1.7
	Store user-specified slot names in DEFSTRUCT-SLOT-DESCRIPTIONs,
	which is necessary for conforming SLOT-EXISTS-P and
	MAKE-LOAD-FORM-SAVING-SLOTS.  To bootstrap, using pmai's
	build scripts:

	1. Copy boot10.lisp to target:bootstrap.lisp and do a full
	   build.  Choose the CLOBBER-IT restart when asked
	   (for an unknown reason, it doesn't work to do this
	   programatically.)

	2. Leave the bootstrap file where it is and do a full build
	   with the Lisp produced in step 1.

	3. Remove the bootstrap file and do another full build.

	* src/bootfiles/18e/boot10.lisp: New file.

	* src-dsd/code/defstruct.lisp (defstruct-slot-description):
	Rename slot %name to name.
	(dsd-%name): New function.
	(dsd-name): Function removed.
	(parse-1-dsd): Set dsd-name to the slot symbol.

	* src-dsd/pcl/std-class.lisp (*allow-keyword-slot-names*): New
	variable.
	(initialize-internal-slot-functions) <around
	structure-effective-slot-definition>: New method binding
	*allow-keyword-slot-names* to true.

	* src-dsd/pcl/methods.lisp (legal-slot-name-p): Allow keywords
	if *allow-keyword-slot-names* is true.

Revision 1.86 - (view) (annotate) - [select for diffs]
Mon May 12 21:54:57 2003 UTC (10 years, 11 months ago) by gerd
Branch: MAIN
Changes since 1.85: +16 -14 lines
Diff to previous 1.85 , to selected 1.7
	* src/code/defstruct.lisp (defstruct): Handle uninterned
	struct names.

Revision 1.85 - (view) (annotate) - [select for diffs]
Mon May 12 16:30:41 2003 UTC (10 years, 11 months ago) by emarsden
Branch: MAIN
Changes since 1.84: +14 -2 lines
Diff to previous 1.84 , to selected 1.7
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.84 - (view) (annotate) - [select for diffs]
Sun Mar 30 18:43:59 2003 UTC (11 years ago) by gerd
Branch: MAIN
CVS Tags: remove_negative_zero_not_zero
Changes since 1.83: +13 -3 lines
Diff to previous 1.83 , to selected 1.7
	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.83 - (view) (annotate) - [select for diffs]
Thu Mar 27 19:23:17 2003 UTC (11 years ago) by toy
Branch: MAIN
Changes since 1.82: +2 -45 lines
Diff to previous 1.82 , to selected 1.7
Clean up code.  Remove the bootstrap-conc-name reader conditional
stuff that was introduced to fix the conc-name inheritance bugs.  We
keep the #-bootstrap-conc-name stuff.

Revision 1.82 - (view) (annotate) - [select for diffs]
Sat Mar 22 16:15:22 2003 UTC (11 years, 1 month ago) by gerd
Branch: MAIN
Changes since 1.81: +25 -24 lines
Diff to previous 1.81 , to selected 1.7
* 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.81.2.1 - (view) (annotate) - [select for diffs]
Wed Mar 19 16:45:33 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.81: +25 -24 lines
Diff to previous 1.81 , to next main 1.103 , to selected 1.7
* 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:
Changes for lisp:class = pcl:class.

* compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp:
* compiler/ir1tran.lisp, compiler/ir1util.lisp:
* compiler/node.lisp, compiler/proclaim.lisp, compiler/typetran.lisp:
* compiler/xref.lisp, compiler/generic/primtype.lisp:
* compiler/generic/vm-type.lisp:
Likewise.

* code/class.lisp (toplevel): Shadow class, built-in-class etc.
(class): Give it conc-name %class-.
(toplevel) [#-lisp-class-is-pcl-class]: Define old accessors.
(everywhere): Use new class accessors.

* code/byte-interp.lisp (load-type-predicate):
Use kernel::structure-class instead of structure-class.

Revision 1.81 - (view) (annotate) - [select for diffs]
Sat Feb 1 20:42:29 2003 UTC (11 years, 2 months ago) by gerd
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.80: +10 -17 lines
Diff to previous 1.80 , to selected 1.7
	Fix bugs detected by Paul Dietz' ANSI test.

	* pcl/defs.lisp (make-class-predicate-name): Handle uninterned
	symbols.

	* code/defstruct.lisp (define-predicate): Don't error out on some
	vector objects.
	(dsd-inherited-p): Use dd-inherited-accessor-alist.

Revision 1.80 - (view) (annotate) - [select for diffs]
Thu Jan 23 21:40:31 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 , to selected 1.7
Handle BOA constructors with keyword arguments of the form
((key var) [default [svar]]).

Bug noted by Paul Dietz; fix from Gerd Moellmann.

Revision 1.79 - (view) (annotate) - [select for diffs]
Thu Jan 23 21:05:33 2003 UTC (11 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 , to selected 1.7
From Eric Marsden:

    fix typos in comments, signal more specific error types, remove
    some stale code, fix a few compiler warnings in the runtime.

Revision 1.78 - (view) (annotate) - [select for diffs]
Fri Jan 3 18:02:58 2003 UTC (11 years, 3 months ago) by toy
Branch: MAIN
Changes since 1.77: +102 -9 lines
Diff to previous 1.77 , to selected 1.7
Gerd Moellmann's port of SBCL's fix for the conc-name/structure
inheritance bug (SBCL bug 127).  Slightly modified to make building a
little easier.

Todo:  After the next release (18e) is done, go through and remove the
old bootstrap-conc-name reader conditionals.  We want the
#-bootstrap-conc-name versions.

Revision 1.77 - (view) (annotate) - [select for diffs]
Mon Dec 9 16:52:47 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.76: +5 -3 lines
Diff to previous 1.76 , to selected 1.7
DEFSTRUCT was not recognizing the option :conc-name or (:conc-name).

(Noted by Paul Dietz.)

Revision 1.76.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:21 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.76: +18 -2 lines
Diff to previous 1.76 , to next main 1.103 , to selected 1.7
Checked in Brian Spilsbury's experimental Unicode, locales, and dialect
support patchset.  This lives on its own branch, so that people can
play with it and tweak it, without disturbing 18e release engineering
on the main branch.  Bootstrapping has only been tried on LINKAGE_TABLE
x86/Linux builds.  A working cross-compile script is checked in under
bootfiles/19a/boot1-cross-unicode.lisp.  The script still leaves you
with some interactive errors, on the cross compile, which you should
answer with 2.  See the mailing list for more information.

Revision 1.76 - (view) (annotate) - [select for diffs]
Wed Jul 31 15:54:33 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.75: +3 -3 lines
Diff to previous 1.75 , to selected 1.7
Give more meaningful messages for the continue and clobber-it restarts
when redefining structures.  Based on suggestions from Rob MacLachlan
and Mike McDonald.

Revision 1.75 - (view) (annotate) - [select for diffs]
Thu Apr 25 21:13:45 2002 UTC (11 years, 11 months ago) by pmai
Branch: MAIN
Changes since 1.74: +26 -19 lines
Diff to previous 1.74 , to selected 1.7
Fix from SBCL:
0.7.2.17:
	Merged MNA "fix for boa-constructor bug" sbcl-devel 2002-04-16
	... copied the fix to &optional arguments handling
	... also test the &optional handling

This fixes the handling of supplied-p args for &key and &optional args
of boa-constructors.  Also did a couple of code cleanups in the process.

Revision 1.58.2.3 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:49:55 2002 UTC (12 years, 1 month ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.58.2.2: +123 -5 lines
Diff to previous 1.58.2.2 , to branch point 1.58 , to next main 1.103 , to selected 1.7
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.74 - (view) (annotate) - [select for diffs]
Fri Sep 21 12:00:43 2001 UTC (12 years, 7 months ago) by pw
Branch: MAIN
Changes since 1.73: +9 -10 lines
Diff to previous 1.73 , to selected 1.7
Second attempt at using new cvs server. Hopefully mail system config
problems are fixed now.

This revision fixes an omission from a previous rev that added support
for :print-object and :print-function defstruct options. The default
method created was calling DEFAULT-STRUCTURE-PRINT with only two
arguments. It seems to work correctly now.

Revision 1.73 - (view) (annotate) - [select for diffs]
Thu Mar 15 18:01:36 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.72: +121 -2 lines
Diff to previous 1.72 , to selected 1.7
Add support for ANSI specified :print-function and :print-object
defstruct options while preserving previous behaviour. ANSI processing
is enabled by ext:*ansi-defstruct-options-p* which must be NIL while
compiling CMUCL, PCL, CLX, HEMLOCK to avoid flushing defined print-functions.
This switch is turned ON when worldload builds a core with PCL in it.

Revision 1.72 - (view) (annotate) - [select for diffs]
Sun Mar 4 20:12:32 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.71: +3 -3 lines
Diff to previous 1.71 , to selected 1.7
Change most PROCLAIMs to DECLAIMs.

Revision 1.71 - (view) (annotate) - [select for diffs]
Sat Jan 6 05:21:38 2001 UTC (13 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 , to selected 1.7
o Fix for slot-accessor-form; the raw data form was not correctly
  evaluating the 'object argument.

Revision 1.58.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:20 2000 UTC (13 years, 11 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.58.2.1: +133 -117 lines
Diff to previous 1.58.2.1 , to branch point 1.58 , to selected 1.7
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.70 - (view) (annotate) - [select for diffs]
Fri Dec 3 16:24:57 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.69: +6 -4 lines
Diff to previous 1.69 , to selected 1.7
Fix define-predicate for list based structures. The predicates were
generating an error when passed a Nil argument due to an attempt to
use ELT to access the name; the name is now accessed via NTH for list
based structures.

Revision 1.69 - (view) (annotate) - [select for diffs]
Thu Sep 23 16:14:42 1999 UTC (14 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 , to selected 1.7
Fix for the redefining of structures which was broken by the previous commit.

Revision 1.68 - (view) (annotate) - [select for diffs]
Wed Sep 22 15:07:49 1999 UTC (14 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.67: +100 -101 lines
Diff to previous 1.67 , to selected 1.7
Revised fix for obtaining the structure slot accessor function given
the defstruct-slot-descriptor which was broken for inherited slot as
the dsd-accessor was set to Nil in this case. Rather than setting
dsd-accessor to Nil for inherited slots, add a new function
dsd-inherited-p to test if an accessor has been inherited, and always
setup the dsd-accessor slot with the name of the accessor
function. This allows the structure printer and inspect to easily
obtain a slot accessor function.

Revision 1.67 - (view) (annotate) - [select for diffs]
Mon Sep 20 11:12:59 1999 UTC (14 years, 7 months ago) by pw
Branch: MAIN
Changes since 1.66: +46 -41 lines
Diff to previous 1.66 , to selected 1.7
DEFAULT-STRUCTURE-PRINT was puking on certain cases of structures that
included other defstructs. An example of a failing case is:

(defstruct a1 s1)
(defstruct (a2 (:include a1)(:conc-name a1-)) s2)

as seen in Hemlock source. The problem was that the dsd-accessor slot
is documented to sometimes contain NIL but default-structure-print
blindly called fdefinition on the sometimes NIL value. The fix here
is to compute the slot accessor name from the conc-name and slot-name.

NOTE: There is code in ir1tran that also blindly calls fdefinition
on the contents of dsd-accessor. Don't know if this is a latent bug.

Revision 1.66 - (view) (annotate) - [select for diffs]
Sat Dec 19 15:56:19 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.65: +52 -29 lines
Diff to previous 1.65 , to selected 1.7
Correct a program-error which should have been a simple-program-error.
Rework some error's into simple-type-error's.
Based of patches from Peter Van Eynde.

Revision 1.65 - (view) (annotate) - [select for diffs]
Sat Jul 25 23:37:39 1998 UTC (15 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.64: +12 -11 lines
Diff to previous 1.64 , to selected 1.7
Fix a multitude of problems with the non-pretty print code in
default-structure-print; noted by Bill Newman.

Revision 1.64 - (view) (annotate) - [select for diffs]
Fri Jul 24 17:17:53 1998 UTC (15 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.63: +7 -21 lines
Diff to previous 1.63 , to selected 1.7
The complex-float the signed-array features are now standard, so
remove unnecessary conditionals.

Revision 1.58.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:21:45 1998 UTC (15 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.58: +109 -14 lines
Diff to previous 1.58 , to selected 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.63 - (view) (annotate) - [select for diffs]
Mon May 4 01:27:11 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.62: +11 -4 lines
Diff to previous 1.62 , to selected 1.7
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.62 - (view) (annotate) - [select for diffs]
Mon Apr 20 11:32:50 1998 UTC (16 years ago) by pw
Branch: MAIN
Changes since 1.61: +4 -2 lines
Diff to previous 1.61 , to selected 1.7
This revision alters the condition type hierarchy to be in compliance
with the ANSI spec. A default report method is attached to the
serious-condition class and many of the uses of (error "string" arg..)
in filesys.lisp and package.lisp were changed to use, for example,
(error 'file-error :format-control "string" :format-arguments (list stuff))
The end result is no obvious change to what the user sees, and enables
one to establish a handler to catch the particular error type as
mentioned in the "Exceptional Situations:" section of the CLHS
write-ups. There probably are still some places where the error
types need to be fixed.

Also, a bug in with-package-iterator which caused failure with
a null package-use-list was fixed, and some file functions (like
truename and probe-file) now disallow a wild pathname.

Revision 1.61 - (view) (annotate) - [select for diffs]
Sat Mar 21 08:11:53 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.60: +43 -2 lines
Diff to previous 1.60 , to selected 1.7
Long-float support.

Revision 1.60 - (view) (annotate) - [select for diffs]
Tue Mar 3 17:35:19 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.59: +52 -7 lines
Diff to previous 1.59 , to selected 1.7
Add support for storing complex float values in raw structure
slots. This allows consing to be avoided when writing to these slots
as for the float type.

Revision 1.59 - (view) (annotate) - [select for diffs]
Sun Mar 1 21:46:00 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.58: +4 -4 lines
Diff to previous 1.58 , to selected 1.7
Fix doc. typos "the the" -> "the".

Revision 1.58 - (view) (annotate) - [select for diffs]
Wed Apr 9 17:49:41 1997 UTC (17 years ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.57: +8 -5 lines
Diff to previous 1.57 , to selected 1.7
New value for the :pure option of defstruct, :substructure. Purify
will place the instance in the static space but still move the
substructure lists and arrays to the RO space. This is needed for
compact-info environments which cache the last name in the instance
which needs to be scavenged, but the hash arrays can still be placed
in the RO space (the cache name was not being scavenge which could
cause a false hit if very unlucky). Shall uses this new option in
compiler/globaldb.lisp after people have had a chance to bootstrap in
this new support.

Revision 1.57 - (view) (annotate) - [select for diffs]
Tue May 7 20:21:33 1996 UTC (17 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.56: +29 -2 lines
Diff to previous 1.56 , to selected 1.7
Attempt to deal with FINs that have FINs as their functions.  Interesting
because of PCL/byte-compiler interactions.

Revision 1.56 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.55: +1 -3 lines
Diff to previous 1.55 , to selected 1.7
Fix headed boilerplate.

Revision 1.55 - (view) (annotate) - [select for diffs]
Mon Aug 30 21:34:35 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 , to selected 1.7
Missed a use of UNDEFINE-STRUCTURE.

Revision 1.54 - (view) (annotate) - [select for diffs]
Mon Aug 30 15:10:20 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.53: +62 -36 lines
Diff to previous 1.53 , to selected 1.7
Added support for  non-hierarchical "structures" when defining default accessor
closures.  Changed UNDEFINE-STRUCTURE to take a class, since that's how
compiler/proclaim is calling it.

Revision 1.53 - (view) (annotate) - [select for diffs]
Sun Aug 22 22:21:00 1993 UTC (20 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.52: +3 -1 lines
Diff to previous 1.52 , to selected 1.7
Fill in the direct-superclasses field.

Revision 1.52 - (view) (annotate) - [select for diffs]
Tue Aug 3 16:29:01 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.51: +3 -2 lines
Diff to previous 1.51 , to selected 1.7
Fix default-structure-print to just call the accessor (so that it handles raw
slots.)

Revision 1.51 - (view) (annotate) - [select for diffs]
Tue Aug 3 07:36:57 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 , to selected 1.7
Pad double-float slot offsets w.r.t. DD-RAW-LENGTH, not DD-LENGTH.

Revision 1.50 - (view) (annotate) - [select for diffs]
Fri Jul 30 12:08:41 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.49: +6 -5 lines
Diff to previous 1.49 , to selected 1.7
Changed %COMPILER-ONLY-DEFSTRUCT to be magically called by IR1tran, since
eval-when doesn't do the right thing.

Revision 1.49 - (view) (annotate) - [select for diffs]
Thu Jul 22 00:42:35 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.48: +5 -3 lines
Diff to previous 1.48 , to selected 1.7
Don't say "previously compiled" unless we really have compiled it before.

Revision 1.48 - (view) (annotate) - [select for diffs]
Tue Jul 13 16:58:30 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.47: +12 -6 lines
Diff to previous 1.47 , to selected 1.7
Tweaked compilation of an incompatible defstruct definition to compare to the
previously compiled layout, rather than the current run-time definition.  As
well as being somewhat more intuitive, this was needed to support redefinition
of the CLASS class.

Revision 1.47 - (view) (annotate) - [select for diffs]
Mon Mar 15 00:11:58 1993 UTC (21 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 , to selected 1.7
Store the print function in the basic-structure-class-print-function
instead of the structure-class-print-function so that it will work for
funcallable-structure-class'es also.

Revision 1.46 - (view) (annotate) - [select for diffs]
Sun Mar 14 16:54:03 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 , to selected 1.7
Fix arg order to print-unreadable-object.

Revision 1.45 - (view) (annotate) - [select for diffs]
Sun Mar 14 14:35:58 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 , to selected 1.7
Type.

Revision 1.44 - (view) (annotate) - [select for diffs]
Sun Mar 14 12:25:45 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.43: +51 -46 lines
Diff to previous 1.43 , to selected 1.7
Changed DEFAULT-STRUCTURE-PRINT to work on funcallable structures (always
prints unreadable.)  Updated comment to reflect the possibility of funcallable
structures having print functions.

Revision 1.43 - (view) (annotate) - [select for diffs]
Sat Mar 13 14:38:57 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.42: +19 -15 lines
Diff to previous 1.42 , to selected 1.7
Added %make-funcallable-instance stub.  Don't add in slot for layout in fin,
because that's already done.

Revision 1.42 - (view) (annotate) - [select for diffs]
Sat Mar 13 13:36:49 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.41: +4 -4 lines
Diff to previous 1.41 , to selected 1.7
Set LAYOUT after %REDEFINE-DEFSTRUCT, since it might have elected to use some
old layout.

Revision 1.41 - (view) (annotate) - [select for diffs]
Sat Mar 13 13:07:57 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 , to selected 1.7
Fixed BOA constructors to ignore package when determining if a slot appears as
an arg.

Revision 1.40 - (view) (annotate) - [select for diffs]
Sat Mar 13 12:17:38 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.39: +145 -66 lines
Diff to previous 1.39 , to selected 1.7
First cut at funcallable-structure support.  %funcallable-instance interpreter
stubs.  Initialize STRUCTURE-CLASS-CONSTRUCTOR.  Changed ALTERNATE-METACLASS to
be inherited by structures that include it.  Update arg syntax of
REGISTER-LAYOUT and use :DEFSTRUCT-LAYOUT option so that we can incompatibly
redefine forward referenced (but not defined) structures.  Fix structure
redefinition warning formatting.

Revision 1.39 - (view) (annotate) - [select for diffs]
Mon Mar 1 20:07:52 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.38: +2 -34 lines
Diff to previous 1.38 , to selected 1.7
Rip out NS-BOOT conditionals.

Revision 1.38 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:25:05 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.37: +1246 -549 lines
Diff to previous 1.37 , to selected 1.7
new structure branch & tuning, see new_struct

Revision 1.37.1.17 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 15:52:35 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.16: +3 -3 lines
Diff to previous 1.37.1.16 , to next main 1.103 , to selected 1.7
In TYPEP-TO-LAYOUT, signal LAYOUT-INVALID instead of a simple-error.

Revision 1.37.1.16 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 11:48:23 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.15: +48 -28 lines
Diff to previous 1.37.1.15 , to selected 1.7
Move structure-object to type-boot.  Add support for pure structure types
& make dd types pure.  Don't register layout if we are compatibly 
redefining.  Generally fix up refinition compatiblity checking.

Revision 1.37.1.15 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Feb 19 22:59:09 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.14: +8 -6 lines
Diff to previous 1.37.1.14 , to selected 1.7
Need to register layout if it was forward referenced but not yet
registered.

Revision 1.37.1.14 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 17 19:47:28 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.13: +2 -2 lines
Diff to previous 1.37.1.13 , to selected 1.7
Fix negated sense of test on raw-type in %defstruct.

Revision 1.37.1.13 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 17 18:18:30 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.12: +13 -8 lines
Diff to previous 1.37.1.12 , to selected 1.7
In ENSURE-STRUCTURE-CLASS, don't check for inconsistency if 
not *type-system-initialized*.

Revision 1.37.1.12 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 17 17:10:58 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.11: +5 -2 lines
Diff to previous 1.37.1.11 , to selected 1.7
Tweaked interface to insured-find-class so that it takes a predicate,
not a meta-class.  In ENSURE-STRUCTURE-CLASS, if we are really making 
a structure class, pass in a constant predicate so that we don't have
to do FIND-CLASS at cold-load init time.

Revision 1.37.1.11 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 17 12:27:36 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.10: +5 -2 lines
Diff to previous 1.37.1.10 , to selected 1.7
Fix typeerror.

Revision 1.37.1.10 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 16 20:51:35 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.9: +5 -7 lines
Diff to previous 1.37.1.9 , to selected 1.7
Fixed raw constructors to work again.  Changed copy-structure to check
arg type using STRUCTURE-OBJECT declaration, rather than looking at the
class, since the class might not be initialized yet (during cold load.)

Revision 1.37.1.9 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 16 10:52:22 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.8: +5 -5 lines
Diff to previous 1.37.1.8 , to selected 1.7
Fix old mentions of TYPEP-TO-STRUCTURE.  Put %COMPILER-ONLY-DEFSTRUCT
in an eval-when (compile eval), since (compile) doesn't work right nested.

Revision 1.37.1.8 - (view) (annotate) - [select for diffs] (vendor branch)
Sun Feb 14 16:38:39 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.7: +4 -1 lines
Diff to previous 1.37.1.7 , to selected 1.7
If bootstrapping, set the layout-info in the old layout when null.

Revision 1.37.1.7 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Feb 13 19:10:17 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.6: +3 -3 lines
Diff to previous 1.37.1.6 , to selected 1.7
milkshake.

Revision 1.37.1.6 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Feb 13 13:30:26 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.5: +10 -5 lines
Diff to previous 1.37.1.5 , to selected 1.7
Don't use load-time-value to get layout in the constructor, instead
reference as a constant.  Avoids cold-load init problem & saves space

Revision 1.37.1.5 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Feb 11 19:20:15 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.4: +2 -2 lines
Diff to previous 1.37.1.4 , to selected 1.7
typo.

Revision 1.37.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Feb 11 19:08:49 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.3: +79 -52 lines
Diff to previous 1.37.1.3 , to selected 1.7
Fix FIND-NAME-INDICES.
Write SLOT-ACCESSOR-FORM to share code between raw accessors and
the constructor.
Fixed vector structure constructor to use AREF to store names.
Constructors now actually work when there are R/O slots, and we also
don't multiply fetch the raw data when initializing it.
In typed accessors & vector constructors, intersect the vector element type
with the slot type.

Revision 1.37.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 10 23:39:22 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.2: +15 -8 lines
Diff to previous 1.37.1.2 , to selected 1.7
fixed stuff


Revision 1.37.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Feb 8 22:20:58 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.37.1.1: +179 -178 lines
Diff to previous 1.37.1.1 , to selected 1.7
Many changes to make it compile and sort of work.  Lots of bootstrapping
conditionals.

Revision 1.37.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Jan 15 15:27:08 1993 UTC (21 years, 3 months ago) by ram
Branch: new_struct
Changes since 1.37: +1161 -538 lines
Diff to previous 1.37 , to selected 1.7
*** empty log message ***

Revision 1.37 - (view) (annotate) - [select for diffs]
Tue Dec 15 19:45:07 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Branch point for: new_struct
Changes since 1.36: +5 -3 lines
Diff to previous 1.36 , to selected 1.7
Put the eval-when back around the (declaim (optimize (safety 1))) so that
we can cold load defstruct.  And put in a comment as to why it is there.

Revision 1.36 - (view) (annotate) - [select for diffs]
Tue Dec 15 16:08:46 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.35: +5 -2 lines
Diff to previous 1.35 , to selected 1.7
Added an ``(in-package :c)'' to get it back into the right package.  Added
a missing close paren.

Revision 1.35 - (view) (annotate) - [select for diffs]
Thu Dec 10 01:21:58 1992 UTC (21 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.34: +23 -9 lines
Diff to previous 1.34 , to selected 1.7
Added COPY-STRUCTURE.

Revision 1.34 - (view) (annotate) - [select for diffs]
Sun Jun 14 07:29:18 1992 UTC (21 years, 10 months ago) by wlott
Branch: MAIN
Changes since 1.33: +40 -41 lines
Diff to previous 1.33 , to selected 1.7
Changed DEFAULT-STRUCTURE-PRINTER to conform to changes to the printer.

Revision 1.33 - (view) (annotate) - [select for diffs]
Thu Apr 2 02:28:34 1992 UTC (22 years ago) by wlott
Branch: MAIN
Changes since 1.32: +5 -3 lines
Diff to previous 1.32 , to selected 1.7
Changed the default structure printer to print slot names as keywords
instead of unqualified symbols as per X3J13 cleanup STRUCTURE-READ-PRINT-
SYNTAX:KEYWORDS.

Revision 1.32 - (view) (annotate) - [select for diffs]
Sat Mar 14 12:05:03 1992 UTC (22 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.31: +8 -6 lines
Diff to previous 1.31 , to selected 1.7
In PARSE-1-DSD, don't blow away the accessor when we are just redefining the
same structure.  For shadowing to be a problem, the accessor must be of a
supertype.  In DSD-NAME, intern the symbol in *PACKAGE* if the accessor is NIL.
In DEFAULT-STRUCTURE-PRINT, directly use DSD-%NAME, rather than messing around
creating a symbol.

Revision 1.31 - (view) (annotate) - [select for diffs]
Fri Mar 13 17:58:29 1992 UTC (22 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.30: +15 -8 lines
Diff to previous 1.30 , to selected 1.7
Fixed PARSE-1-DSD to correctly recognize conc-name accessor duplication when
there is multi-level inheritance.  Now we look at the ACCESSOR-FOR info and see
if it is an accessor for the same slot.

Revision 1.30 - (view) (annotate) - [select for diffs]
Mon Mar 9 14:55:49 1992 UTC (22 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.29: +115 -119 lines
Diff to previous 1.29 , to selected 1.7
Make stuff work when conc-names make a subtype slot accessor have the same name
as the supertype accessor.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sat Dec 14 08:56:10 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.28: +40 -19 lines
Diff to previous 1.28 , to selected 1.7
Added make-load-form support.  Changed the pretty printer to not indent
quite as much.

Revision 1.28 - (view) (annotate) - [select for diffs]
Thu Dec 5 06:25:25 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.27: +21 -22 lines
Diff to previous 1.27 , to selected 1.7
Changed to use native pretty printer instead of XP.

Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Nov 7 17:32:11 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.26: +5 -2 lines
Diff to previous 1.26 , to selected 1.7
Wrapped an eval-when around the declaim because defstruct is cold-loaded
before proclaim.

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Nov 7 13:20:25 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.25: +5 -2 lines
Diff to previous 1.25 , to selected 1.7
Added type check on conc-name option.

Revision 1.25 - (view) (annotate) - [select for diffs]
Wed Nov 6 19:20:08 1991 UTC (22 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.24: +4 -1 lines
Diff to previous 1.24 , to selected 1.7
Added optimize (safety 1) to make sure that some sort of syntax checking is
done.

Revision 1.24 - (view) (annotate) - [select for diffs]
Thu Jun 6 16:36:00 1991 UTC (22 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 , to selected 1.7
Fixed typo in error message.

Revision 1.23 - (view) (annotate) - [select for diffs]
Mon Mar 4 16:52:36 1991 UTC (23 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.22: +40 -32 lines
Diff to previous 1.22 , to selected 1.7
Merged with systems-work sources as of this date.  This mainly picked up
some fixes to allow multiple default constructors.

Revision 1.22 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:32:03 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.21: +9 -5 lines
Diff to previous 1.21 , to selected 1.7
New file header with RCS header FILE-COMMENT.

Revision 1.21 - (view) (annotate) - [select for diffs]
Sun Feb 3 11:07:06 1991 UTC (23 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.20: +12 -9 lines
Diff to previous 1.20 , to selected 1.7
Fixed default-structure-print to work when *print-circle* is T.

Revision 1.20 - (view) (annotate) - [select for diffs]
Thu Jan 3 13:14:47 1991 UTC (23 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.19: +1 -18 lines
Diff to previous 1.19 , to selected 1.7
Removed the STRUCTURE-PREDICATE function, as this is now done directly
by typetran.

Revision 1.19 - (view) (annotate) - [select for diffs]
Wed Dec 19 00:23:49 1990 UTC (23 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 , to selected 1.7
typo

Revision 1.18 - (view) (annotate) - [select for diffs]
Tue Dec 18 20:39:06 1990 UTC (23 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.17: +40 -24 lines
Diff to previous 1.17 , to selected 1.7
Changed to use make-structure to create structures directly instead of
structurifying vectors.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sun Nov 18 17:00:48 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 , to selected 1.7
Replaced use of alloc-g-vector with a call to make-array.

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Oct 17 03:47:59 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.15: +10 -4 lines
Diff to previous 1.15 , to selected 1.7
Changed %REDEFINE-DEFSTRUCT to copy the old INCLUDED-BY into the new
DD when the redefinition is not incompatible.  This precents
recompiling and loading of DEFSTRUCT STREAM from blowing the system
out of the water, etc.

Revision 1.15 - (view) (annotate) - [select for diffs]
Mon Oct 15 01:09:35 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.14: +55 -12 lines
Diff to previous 1.14 , to selected 1.7
Added some stuff to %DEFSTRUCT to notice when a structure is being
incompatibly redefined, signalling a correctable error.  If proceeded,
we FMAKUNBOUND the old accessors.  Also, %DEFSTRUCT is now responsible
for updating the INCLUDED-BY slot for the DEFINED-STRUCTURE-INFO, since
the compiler's STRUCTURE-INFO may not be EQ.
I also moved %DEFSTRUCT to be beginning of the DEFMACRO expansion.  It 
was previously at the end, which caused %%COMPILER-DEFSTRUCT to
create FUNCTION KIND and WHERE-FROM entries for the slot accessors.  If
they are defined as functions in the global environment, then it just
lets the default expression for these info types realize that they
are functions.
With any luck, this won't cause any horrible bootstrapping problems.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue Oct 9 23:25:51 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 , to selected 1.7
typo.

Revision 1.13 - (view) (annotate) - [select for diffs]
Tue Oct 9 23:03:53 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.12: +38 -19 lines
Diff to previous 1.12 , to selected 1.7
Replaced all uses of %primitive structure{-index,}-{ref,set} with
the magic function structure-ref and it's setf method.

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Oct 5 15:51:19 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.11: +3 -2 lines
Diff to previous 1.11 , to selected 1.7
Oops, can't use length on a structure.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri Oct 5 15:13:04 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.10: +40 -17 lines
Diff to previous 1.10 , to selected 1.7
Fixed default-structure-print to use structure-index-ref instead of svref.
Also fixed it to use XP when *print-pretty* is true.

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu Sep 6 17:53:14 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 , to selected 1.7
Chagned the slot setter functions to take the arguments in the corrent order.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:10:38 1990 UTC (23 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.8: +17 -19 lines
Diff to previous 1.8 , to selected 1.7
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.8.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Aug 15 17:49:12 1990 UTC (23 years, 8 months ago) by wlott
Changes since 1.8.1.2: +2 -2 lines
Diff to previous 1.8.1.2 , to next main 1.103 , to selected 1.7
Generate setf functions with the args in the right order.

Revision 1.8.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Sun Jun 24 19:38:52 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.8.1.1: +3 -12 lines
Diff to previous 1.8.1.1 , to selected 1.7
Removed structurify, 'cause it's duplicated in struct.lisp.

Revision 1.8.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jun 16 16:27:02 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.8: +17 -10 lines
Diff to previous 1.8 , to selected 1.7
Merged changes into mips branch.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Apr 25 10:19:24 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.7: +2 -1 lines
Diff to previous 1.7
Changed to OR in the result of STRUCTURE-PREDICATE to be an IF, since that is
optimized more easily.

Revision 1.7.2.3 - (view) (annotate) - [select for diffs]
Thu Apr 5 23:59:37 1990 UTC (24 years ago) by wlott
Changes since 1.7.2.2: +4 -2 lines
Diff to previous 1.7.2.2 , to branch point 1.7 , to next main 1.103
Use vm:vector-structure-type instead of %g-vector-structure-type when under
the new-compiler.

Revision 1.7.2.2 - (view) (annotate) - [select for diffs]
Thu Mar 15 18:09:12 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.7.2.1: +5 -4 lines
Diff to previous 1.7.2.1 , to branch point 1.7
Fixed use of %primitive structure-set to take the arguments in the correct
order.

Changed use of memq to member :test #'eq

Revision 1.7.2.1 - (view) (annotate) - [select for diffs]
Thu Mar 8 10:44:33 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.7: +11 -7 lines
Diff to previous 1.7
Merged MIPS changes with 3/8 version (1.7)
Added #+new-compiler before typep-to-structure

Revision 1.2.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Mar 7 18:16:42 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.2.1.1: +5 -5 lines
Diff to previous 1.2.1.1 , to next main 1.103 , to selected 1.7
Finished flushing header-ref.

Revision 1.2.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Mar 7 15:38:03 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.2: +5 -3 lines
Diff to previous 1.2 , to selected 1.7
Initial MIPS branch.

Revision 1.7.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Mar 6 21:10:21 1990 UTC (24 years, 1 month ago) by wlott
Changes since 1.7: +57 -88 lines
Diff to previous 1.7 , to next main 1.103
Changed header-{set,ref} to structure-{set,ref}.

Revision 1.7 - (view) (annotate) - [selected]
Mon Mar 5 11:57:43 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.6: +2 -4 lines
Diff to previous 1.6
Fixed merge lossage.

Revision 1.6 - (view) (annotate) - [select for diffs]
Tue Feb 27 13:31:57 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 , to selected 1.7
Fixed up handling of default print functions a bit.  Use of the default print
function is represented by having a NULL value for the DD-PRINT-FUNCTION
(instead of the highly broken use of the function object for
DEFAULT-STRUCTURE-PRINT.)

Revision 1.5 - (view) (annotate) - [select for diffs]
Thu Feb 22 11:46:14 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.4: +75 -44 lines
Diff to previous 1.4 , to selected 1.7
.../systems-work/code/defstruct.lisp, 07-Feb-90 16:41:55, Edit by Chiles.
  Fixed '(:constructor) bug that failed to create a default constructor.

/usr/lisp/code/defstruct.lisp, 26-Jul-89 19:10:17, Edit by Mbb.
  Structures that include another structure now inherit it's print-function
  if they do not have their own.  This inheritance may be suppressed by
  supplying :print-function without a name.  This is a cleanup.

/usr/lisp/code/defstruct.lisp, 26-Jul-89 16:23:50, Edit by Mbb.
  Made BOA-constuctors only half that...  They now allow &key args.

  Also made DEFSTRUCT warn when you try to use a keyword as a slot name.
  This catches users who accidentally do

     (defstruct foo (:constructor ...) <slots>)

  instead of

     (defstruct (foo (:constructor ...)) <slots>).

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Feb 14 12:46:09 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.3: +6 -3 lines
Diff to previous 1.3 , to selected 1.7
Changed DEFSTRUCT expansion to only use #' on non-symbol PRINT-FUNCTIONS, so
that named print functions can be defined after the structure.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Feb 12 10:17:02 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.2: +5 -4 lines
Diff to previous 1.2 , to selected 1.7
Added code to set up the new INFO types TYPE DEFINED-STRUCTURE-INFO and
TYPE PRINTER.  These get around problems with the printer &c thinking that the
DD from compilation of a structure definition is the actual loaded one.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Feb 8 09:40:03 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +5 -5 lines
Diff to previous 1.1 , to selected 1.7
Changed STRUCTURIFY from a macro to an inline function so that interpreted
DEFSTRUCT constructors work.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 17:24:02 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Diff to selected 1.7
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