summaryrefslogtreecommitdiff
path: root/module/rnrs
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2017-09-20 22:07:18 +0200
committerAndy Wingo <wingo@pobox.com>2017-09-20 22:07:18 +0200
commitdd11b8216263aa9e79420a71e01c3cd210b19f10 (patch)
tree19c890fa0558924242bd649bfc24f05e671c983c /module/rnrs
parentda9da0eca402a684f4837e8085f2846148ef6ef6 (diff)
downloadguile-dd11b8216263aa9e79420a71e01c3cd210b19f10.tar.gz
Use make-struct/no-tail instead of make-struct
* module/ice-9/boot-9.scm: * module/language/cps/effects-analysis.scm: * module/language/elisp/falias.scm: * module/language/tree-il.scm: * module/language/tree-il/primitives.scm: * module/rnrs/records/procedural.scm: * module/srfi/srfi-35.scm: * module/system/base/syntax.scm: Change uses of make-struct to make-struct/no-tail.
Diffstat (limited to 'module/rnrs')
-rw-r--r--module/rnrs/records/procedural.scm37
1 files changed, 19 insertions, 18 deletions
diff --git a/module/rnrs/records/procedural.scm b/module/rnrs/records/procedural.scm
index 6976eebdd..2bd908856 100644
--- a/module/rnrs/records/procedural.scm
+++ b/module/rnrs/records/procedural.scm
@@ -1,6 +1,6 @@
;;; procedural.scm --- Procedural interface to R6RS records
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2017 Free Software Foundation, Inc.
;;
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
@@ -36,7 +36,7 @@
and=>
throw
display
- make-struct
+ make-struct/no-tail
make-vtable
map
simple-format
@@ -125,7 +125,7 @@
(and=> (struct-ref obj 0) private-record-predicate))))
(define (field-binder parent-struct . args)
- (apply make-struct (cons* late-rtd 0 parent-struct args)))
+ (apply make-struct/no-tail late-rtd parent-struct args))
(if (and parent (struct-ref parent rtd-index-sealed?))
(r6rs-raise (make-assertion-violation)))
@@ -150,23 +150,24 @@
matching-rtd
(r6rs-raise (make-assertion-violation)))
- (let ((rtd (make-struct record-type-vtable 0
+ (let ((rtd (make-struct/no-tail
+ record-type-vtable
- fields-layout
- (lambda (obj port)
- (simple-format
- port "#<r6rs:record:~A>" name))
+ fields-layout
+ (lambda (obj port)
+ (simple-format
+ port "#<r6rs:record:~A>" name))
- name
- uid
- parent
- sealed?
- opaque?
+ name
+ uid
+ parent
+ sealed?
+ opaque?
- private-record-predicate
- field-names
- fields-bit-field
- field-binder)))
+ private-record-predicate
+ field-names
+ fields-bit-field
+ field-binder)))
(set! late-rtd rtd)
(if uid (hashq-set! uid-table uid rtd))
rtd))))
@@ -194,7 +195,7 @@
(prot (or protocol (if pcd
default-inherited-protocol
default-protocol))))
- (make-struct record-constructor-vtable 0 rtd pcd prot)))
+ (make-struct/no-tail record-constructor-vtable rtd pcd prot)))
(define (record-constructor rctd)
(let* ((rtd (struct-ref rctd rctd-index-rtd))