diff options
author | Andy Wingo <wingo@pobox.com> | 2018-01-21 21:03:35 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-01-21 21:03:35 +0100 |
commit | 5084fa4858c0fa153c7c9fd5db3625cbc90470df (patch) | |
tree | 995fb5f86b8a99facf964bb26bb1bf129b3bd7b0 /libguile/struct.h | |
parent | 557acdbbba9e3bcc1108d81cbf8c2f7c14fcb29a (diff) | |
download | guile-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.h | 3 |
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, ...); |