Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • ram's avatar
    a0b4a15a
    Added some stuff to %DEFSTRUCT to notice when a structure is being · a0b4a15a
    ram authored
    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.
    a0b4a15a
    History
    Added some stuff to %DEFSTRUCT to notice when a structure is being
    ram authored
    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.