summaryrefslogtreecommitdiff
path: root/libguile/struct.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-01-21 21:03:35 +0100
committerAndy Wingo <wingo@pobox.com>2018-01-21 21:03:35 +0100
commit5084fa4858c0fa153c7c9fd5db3625cbc90470df (patch)
tree995fb5f86b8a99facf964bb26bb1bf129b3bd7b0 /libguile/struct.h
parent557acdbbba9e3bcc1108d81cbf8c2f7c14fcb29a (diff)
downloadguile-5084fa4858c0fa153c7c9fd5db3625cbc90470df.tar.gz
Introduce make-struct/simple
* libguile/struct.h: * libguile/struct.c (scm_make_struct_simple): New function. * module/ice-9/boot-9.scm (make-record-type): Recast in terms of make-struct/simple. * module/ice-9/eval.scm (primitive-eval): Remove allocate-struct case. * module/srfi/srfi-9.scm (%%set-fields, %define-record-type): Use make-struct/simple.
Diffstat (limited to 'libguile/struct.h')
-rw-r--r--libguile/struct.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/struct.h b/libguile/struct.h
index d88944cd7..66812eea8 100644
--- a/libguile/struct.h
+++ b/libguile/struct.h
@@ -4,7 +4,7 @@
#define SCM_STRUCT_H
/* Copyright (C) 1995,1997,1999-2001, 2006-2013, 2015,
- * 2017 Free Software Foundation, Inc.
+ * 2017-2018 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 License
@@ -161,6 +161,7 @@ SCM_API SCM scm_make_struct_layout (SCM fields);
SCM_API SCM scm_struct_p (SCM x);
SCM_API SCM scm_struct_vtable_p (SCM x);
SCM_INTERNAL SCM scm_allocate_struct (SCM vtable, SCM n_words);
+SCM_INTERNAL SCM scm_make_struct_simple (SCM vtable, SCM init);
SCM_API SCM scm_make_struct_no_tail (SCM vtable, SCM init);
SCM_API SCM scm_c_make_struct (SCM vtable, size_t n_tail, size_t n_inits,
scm_t_bits init, ...);