mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
deprecate struct-vtable-tag
* libguile/deprecated.c: * libguile/deprecated.h: * libguile/struct.c: * libguile/struct.h: * doc/ref/api-compound.texi: Deprecate struct-vtable-tag.
This commit is contained in:
parent
5d312f3c2c
commit
d192791373
5 changed files with 27 additions and 26 deletions
|
@ -1,7 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Guile Reference Manual.
|
||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
@c 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
@c 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
@c See the file guile.texi for copying conditions.
|
||||
|
||||
@node Compound Data Types
|
||||
|
@ -2372,7 +2372,7 @@ to be stored along side usual Scheme @code{SCM} values.
|
|||
* Vtable Vtables::
|
||||
@end menu
|
||||
|
||||
@node Vtables, Structure Basics, Structures, Structures
|
||||
@node Vtables
|
||||
@subsubsection Vtables
|
||||
|
||||
A vtable is a structure type, specifying its layout, and other
|
||||
|
@ -2460,7 +2460,7 @@ structure.
|
|||
@end deffn
|
||||
|
||||
|
||||
@node Structure Basics, Vtable Contents, Vtables, Structures
|
||||
@node Structure Basics
|
||||
@subsubsection Structure Basics
|
||||
|
||||
This section describes the basic procedures for working with
|
||||
|
@ -2542,7 +2542,7 @@ This can be used to examine the layout of an unknown structure, see
|
|||
@end deffn
|
||||
|
||||
|
||||
@node Vtable Contents, Vtable Vtables, Structure Basics, Structures
|
||||
@node Vtable Contents
|
||||
@subsubsection Vtable Contents
|
||||
|
||||
A vtable is itself a structure, with particular fields that hold
|
||||
|
@ -2614,16 +2614,8 @@ from @var{vtable}.
|
|||
@end example
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} struct-vtable-tag vtable
|
||||
@deffnx {C Function} scm_struct_vtable_tag (vtable)
|
||||
Return the tag of the given @var{vtable}.
|
||||
@c
|
||||
@c FIXME: what can be said about what this means?
|
||||
@c
|
||||
@end deffn
|
||||
|
||||
|
||||
@node Vtable Vtables, , Vtable Contents, Structures
|
||||
@node Vtable Vtables
|
||||
@subsubsection Vtable Vtables
|
||||
|
||||
As noted above, a vtable is a structure and that structure is itself
|
||||
|
|
|
@ -2820,6 +2820,23 @@ SCM_DEFINE (scm_eval_closure_module,
|
|||
#undef FUNC_NAME
|
||||
|
||||
|
||||
|
||||
|
||||
SCM_DEFINE (scm_struct_vtable_tag, "struct-vtable-tag", 1, 0, 0,
|
||||
(SCM handle),
|
||||
"Return the vtable tag of the structure @var{handle}.")
|
||||
#define FUNC_NAME s_scm_struct_vtable_tag
|
||||
{
|
||||
SCM_VALIDATE_VTABLE (1, handle);
|
||||
scm_c_issue_deprecation_warning
|
||||
("struct-vtable-tag is deprecated. What were you doing with it anyway?");
|
||||
|
||||
return scm_from_unsigned_integer
|
||||
(((scm_t_bits)SCM_STRUCT_DATA (handle)) >> 3);
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
|
|
|
@ -835,6 +835,10 @@ SCM_DEPRECATED SCM scm_eval_closure_module (SCM eval_closure);
|
|||
|
||||
|
||||
|
||||
SCM_DEPRECATED SCM scm_struct_vtable_tag (SCM handle);
|
||||
|
||||
|
||||
|
||||
void scm_i_init_deprecated (void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -917,17 +917,6 @@ SCM_DEFINE (scm_struct_vtable, "struct-vtable", 1, 0, 0,
|
|||
#undef FUNC_NAME
|
||||
|
||||
|
||||
SCM_DEFINE (scm_struct_vtable_tag, "struct-vtable-tag", 1, 0, 0,
|
||||
(SCM handle),
|
||||
"Return the vtable tag of the structure @var{handle}.")
|
||||
#define FUNC_NAME s_scm_struct_vtable_tag
|
||||
{
|
||||
SCM_VALIDATE_VTABLE (1, handle);
|
||||
return scm_from_unsigned_integer
|
||||
(((scm_t_bits)SCM_STRUCT_DATA (handle)) >> 3);
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
/* {Associating names and classes with vtables}
|
||||
*
|
||||
* The name of a vtable should probably be stored as a slot. This is
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#ifndef SCM_STRUCT_H
|
||||
#define SCM_STRUCT_H
|
||||
|
||||
/* Copyright (C) 1995,1997,1999,2000,2001, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995,1997,1999,2000,2001, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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
|
||||
|
@ -184,7 +184,6 @@ SCM_API SCM scm_make_vtable_vtable (SCM extra_fields, SCM tail_array_size, SCM i
|
|||
SCM_API SCM scm_struct_ref (SCM handle, SCM pos);
|
||||
SCM_API SCM scm_struct_set_x (SCM handle, SCM pos, SCM val);
|
||||
SCM_API SCM scm_struct_vtable (SCM handle);
|
||||
SCM_API SCM scm_struct_vtable_tag (SCM handle);
|
||||
SCM_API SCM scm_struct_vtable_name (SCM vtable);
|
||||
SCM_API SCM scm_set_struct_vtable_name_x (SCM vtable, SCM name);
|
||||
SCM_API void scm_print_struct (SCM exp, SCM port, scm_print_state *);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue