aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r--src/boot/ast.boot5
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]]