diff options
author | Andy Wingo <wingo@igalia.com> | 2014-05-26 17:34:27 -0700 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-05-26 17:34:27 -0700 |
commit | b2715b270ae27eccefe8edbbacb3910bc7cc9383 (patch) | |
tree | ce6fc357f9c5618a691f7b1bd06446e439fecd21 /gdb/doc/guile.texi | |
parent | 3ce6e9727987728ad8afa28ecfdece0375501988 (diff) | |
download | gdb-b2715b270ae27eccefe8edbbacb3910bc7cc9383.zip gdb-b2715b270ae27eccefe8edbbacb3910bc7cc9383.tar.gz gdb-b2715b270ae27eccefe8edbbacb3910bc7cc9383.tar.bz2 |
gdb smob cleanups
* guile/guile-internal.h (GDB_SMOB_HEAD): Replace properties with
empty_base_class. All uses updated.
(gdbscm_mark_gsmob, gdbscm_mark_chained_gsmob)
(gdbscm_mark_eqable_gsmob): Remove these now-unneeded functions.
Adapt all callers.
* guile/scm-gsmob.c (gdbscm_mark_gsmob)
(gdbscm_mark_chained_gsmob, gdbscm_mark_eqable_gsmob): Remove.
(gdbscm_gsmob_property, gdbscm_set_gsmob_property_x)
(gdbscm_gsmob_has_property_p, add_property_name)
(gdbscm_gsmob_properties): Remove, and remove them from gsmob_functions.
* guile/lib/gdb.scm (gdb-object-property, set-gdb-object-property)
(gdb-object-has-property?, gdb-object-properties): Remove.
(gdb-object-kind): Renamed from gsmob-kind.
doc/
* guile.texi (GDB Scheme Data Types): Remove documentation for
removed interfaces. Update spelling of gdb-object-kind.
testsuite/
* gdb.guile/scm-breakpoint.exp:
* gdb.guile/scm-gsmob.exp: Update to use plain old object
properties instead of gdb-object-properties.
Diffstat (limited to 'gdb/doc/guile.texi')
-rw-r--r-- | gdb/doc/guile.texi | 46 |
1 files changed, 9 insertions, 37 deletions
diff --git a/gdb/doc/guile.texi b/gdb/doc/guile.texi index 7082ef9..3e03c7c 100644 --- a/gdb/doc/guile.texi +++ b/gdb/doc/guile.texi @@ -331,46 +331,18 @@ This is the string passed to @code{--target} when @value{GDBN} was configured. @node GDB Scheme Data Types @subsubsection GDB Scheme Data Types -@cindex gdb smobs +@cindex gdb objects -@value{GDBN} uses Guile's @dfn{smob} (small object) -data type for all @value{GDBN} objects -(@pxref{Defining New Types (Smobs),,, guile, GNU Guile Reference Manual}). -The smobs that @value{GDBN} provides are called @dfn{gsmobs}. +The values exposed by @value{GDBN} to Guile are known as +@dfn{@value{GDBN} objects}. There are several kinds of @value{GDBN} +object, and each is disjoint from all other types known to Guile. -@deffn {Scheme Procedure} gsmob-kind gsmob -Return the kind of the gsmob, e.g., @code{<gdb:breakpoint>}, +@deffn {Scheme Procedure} gdb-object-kind object +Return the kind of the @value{GDBN} object, e.g., @code{<gdb:breakpoint>}, as a symbol. @end deffn -Every @code{gsmob} provides a common set of functions for extending -them in simple ways. Each @code{gsmob} has a list of properties, -initially empty. These properties are akin to Guile's object properties, -but are stored with the @code{gsmob} -(@pxref{Object Properties,,, guile, GNU Guile Reference Manual}). -Property names can be any @code{eq?}-able value, but it is recommended -that they be symbols. - -@deffn {Scheme Procedure} set-gsmob-property! gsmob property-name value -Set the value of property @code{property-name} to value @code{value}. -The result is unspecified. -@end deffn - -@deffn {Scheme Procedure} gsmob-property gsmob property-name -Return the value of property @code{property-name}. -If the property isn't present then @code{#f} is returned. -@end deffn - -@deffn {Scheme Procedure} gsmob-has-property? gsmob property-name -Return @code{#t} if @code{gsmob} has property @code{property-name}. -Otherwise return @code{#f}. -@end deffn - -@deffn {Scheme Procedure} gsmob-properties gsmob -Return an unsorted list of names of properties. -@end deffn - -@value{GDBN} defines the following Scheme smobs: +@value{GDBN} defines the following object types: @table @code @item <gdb:arch> @@ -425,8 +397,8 @@ Return an unsorted list of names of properties. @xref{Values From Inferior In Guile}. @end table -The following gsmobs are managed internally so that the Scheme function -@code{eq?} may be applied to them. +The following @value{GDBN} objects are managed internally so that the +Scheme function @code{eq?} may be applied to them. @table @code @item <gdb:arch> |