diff options
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r-- | src/boot/ast.boot | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot index b3c568b4..54d9b7ed 100644 --- a/src/boot/ast.boot +++ b/src/boot/ast.boot @@ -1342,7 +1342,10 @@ bfRecordDef(s,fields,accessors) == parms := [x for f in fields | f is ['%Signature,x,.]] fun := makeSymbol strconc('"mk",symbolName s) ctor := makeSymbol strconc('"MAKE-",symbolName s) - recDef := ["DEFSTRUCT",s,:[x for ['%Signature,x,.] in fields]] + recDef := ["DEFSTRUCT", + [s,[bfColonColon("KEYWORD","COPIER"), + makeSymbol strconc('"copy",symbolName s)]], + :[x for ['%Signature,x,.] in fields]] ctorDef := args := [:[bfColonColon("KEYWORD",p),p] for p in parms] ["DEFMACRO",fun,parms,["LIST",quote ctor,:args]] |