/[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)
Links to RELEASE_18c: (view) (annotate)
Sticky Tag:

Revision 1.58.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:20 2000 UTC (13 years, 10 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
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.58.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:21:45 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.58: +109 -14 lines
Diff to previous 1.58
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.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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
new structure branch & tuning, see new_struct

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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, 7 months ago) by wlott
Branch: MAIN
Changes since 1.8: +17 -19 lines
Diff to previous 1.8
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Apr 25 10:19:24 1990 UTC (23 years, 11 months 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 - (view) (annotate) - [select for diffs]
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
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
.../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
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
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
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
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