Initialize newly constructed records in keyword constructors to have
authorTaylor R. Campbell <net/mumble/campbell>
Thu, 18 Jan 2007 02:30:37 +0000 (02:30 +0000)
committerTaylor R. Campbell <net/mumble/campbell>
Thu, 18 Jan 2007 02:30:37 +0000 (02:30 +0000)
the proper dispatch tag.

v7/src/runtime/record.scm

index 3311e93b63f92bfeb4d6e11b5bfc2ee010c28658..483bbe32954204e6dc8216a42f455ee4a7baf151 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: record.scm,v 1.58 2007/01/05 21:19:28 cph Exp $
+$Id: record.scm,v 1.59 2007/01/18 02:30:37 riastradh Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -375,6 +375,7 @@ USA.
          (let ((n (%record-type-length record-type)))
            (let ((record (%make-record n #f))
                  (seen? (vector-cons n #f)))
+             (%record-set! record 0 (%record-type-dispatch-tag record-type))
              (do ((kl keyword-list (cddr kl)))
                  ((not (and (pair? kl)
                             (symbol? (car kl))