aboutsummaryrefslogtreecommitdiff
path: root/gdb/doc/guile.texi
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2014-05-26 17:34:27 -0700
committerDoug Evans <xdje42@gmail.com>2014-05-26 17:34:27 -0700
commitb2715b270ae27eccefe8edbbacb3910bc7cc9383 (patch)
treece6fc357f9c5618a691f7b1bd06446e439fecd21 /gdb/doc/guile.texi
parent3ce6e9727987728ad8afa28ecfdece0375501988 (diff)
downloadgdb-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.texi46
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>