From patchwork Wed Apr 9 16:08:36 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Wingo X-Patchwork-Id: 447 Return-Path: X-Original-To: siddhesh@wilcox.dreamhost.com Delivered-To: siddhesh@wilcox.dreamhost.com Received: from homiemail-mx20.g.dreamhost.com (mx2.sub5.homie.mail.dreamhost.com [208.113.200.128]) by wilcox.dreamhost.com (Postfix) with ESMTP id A315936005B for ; Wed, 9 Apr 2014 09:10:00 -0700 (PDT) Received: by homiemail-mx20.g.dreamhost.com (Postfix, from userid 14314964) id 569B940F61574; Wed, 9 Apr 2014 09:10:00 -0700 (PDT) X-Original-To: gdb@patchwork.siddhesh.in Delivered-To: x14314964@homiemail-mx20.g.dreamhost.com Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by homiemail-mx20.g.dreamhost.com (Postfix) with ESMTPS id 3065940F51A09 for ; Wed, 9 Apr 2014 09:10:00 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=N/kin0gLiMRR3TpWnQiZx0KG1xIRemF lqIE9Vg0pXZsTn9pFDK1S8KCIfvc1jGM9XGuSBrIq8FYBOFKqHwvsHAjM0lcVBx3 xy/Hp4efjzFKOEaLJGsMu09nO1DYY5eDE4+D8Bxz7RHtOuc7HIdOtwbHePyWFaet ucqz1auLWtW8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references; s=default; bh=mOI6Mlc0CzWjPHy+mFkoMLwm/Nk=; b=y7XCq 8iv54j1w1fTUAtuh4YbnVyBPFgH69GYs7d4OKoGiTR1bglKfx3ytV6MSMcfO32nT gImgsEkx4d2QqqMbZNd58aTmuky+NgyA048PVzF2KoeiJJQM0MeCbDgxbWUmrceN LWoGA9sg53KGYAIDx/79KkKVTcVZUXejO2BgY0= Received: (qmail 25363 invoked by alias); 9 Apr 2014 16:09:32 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 25293 invoked by uid 89); 9 Apr 2014 16:09:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.6 required=5.0 tests=AWL, BAYES_50, RCVD_IN_DNSWL_NONE, SPF_NEUTRAL autolearn=no version=3.3.2 X-HELO: sasl.smtp.pobox.com Received: from a-pb-sasl-quonix.pobox.com (HELO sasl.smtp.pobox.com) (208.72.237.25) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 09 Apr 2014 16:09:30 +0000 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id BC59F10F9C; Wed, 9 Apr 2014 12:09:28 -0400 (EDT) Received: from a-pb-sasl-quonix.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id B577810F9B; Wed, 9 Apr 2014 12:09:28 -0400 (EDT) Received: from localhost.localdomain (unknown [88.160.190.192]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id 3F8AB10F9A; Wed, 9 Apr 2014 12:09:26 -0400 (EDT) From: Andy Wingo To: gdb-patches@sourceware.org Cc: Andy Wingo Subject: [PATCH 4/8] Rename "gsmob" in Guile interface to "gdb object" Date: Wed, 9 Apr 2014 18:08:36 +0200 Message-Id: <1397059725-18066-8-git-send-email-wingo@igalia.com> In-Reply-To: <1397059725-18066-1-git-send-email-wingo@igalia.com> References: <1397059725-18066-1-git-send-email-wingo@igalia.com> X-Pobox-Relay-ID: 5338D2E6-C001-11E3-9359-873F0E5B5709-02397024!a-pb-sasl-quonix.pobox.com X-DH-Original-To: gdb@patchwork.siddhesh.in * gdb/guile/scm-gsmob.c: * gdb/guile/lib/gdb.scm (gdb-object-kind, gdb-object-property) (set-gdb-object-property!, gdb-object-has-property?) (gdb-object-properties): Rename from gsmob-kind, gsmob-property, etc. The fact that these are SMOBs is a C implementation detail that should not be exposed to Scheme. * gdb/doc/guile.texi (GDB Scheme Data Types): Update the manual. --- gdb/doc/guile.texi | 37 ++++++++++++++++++------------------- gdb/guile/lib/gdb.scm | 12 ++++++------ gdb/guile/scm-gsmob.c | 30 +++++++++++++++--------------- 3 files changed, 39 insertions(+), 40 deletions(-) diff --git a/gdb/doc/guile.texi b/gdb/doc/guile.texi index 3f6580e..f7204e9 100644 --- a/gdb/doc/guile.texi +++ b/gdb/doc/guile.texi @@ -331,46 +331,45 @@ 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{}, +@deffn {Scheme Procedure} gdb-object-kind object +Return the kind of the @value{GDBN} object, e.g., @code{}, 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} +Every @value{GDBN} object provides a common set of functions for +extending them in simple ways. Each @value{GDBN} object has a list of +properties, initially empty. These properties are akin to Guile's +object properties, but are stored with the @value{GDBN} object (@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 +@deffn {Scheme Procedure} set-gdb-object-property! object 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 +@deffn {Scheme Procedure} gdb-object-property object 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}. +@deffn {Scheme Procedure} gdb-object-has-property? object property-name +Return @code{#t} if @value{GDBN} object has property @code{property-name}. Otherwise return @code{#f}. @end deffn -@deffn {Scheme Procedure} gsmob-properties gsmob +@deffn {Scheme Procedure} gdb-object-properties object 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 @@ -425,8 +424,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 diff --git a/gdb/guile/lib/gdb.scm b/gdb/guile/lib/gdb.scm index f12769e..57d6472 100644 --- a/gdb/guile/lib/gdb.scm +++ b/gdb/guile/lib/gdb.scm @@ -270,13 +270,13 @@ make-pretty-printer-worker pretty-printer-worker? - ;; scm-smob.c + ;; scm-gsmob.c - gsmob-kind - gsmob-property - set-gsmob-property! - gsmob-has-property? - gsmob-properties + gdb-object-kind + gdb-object-property + set-gdb-object-property! + gdb-object-has-property? + gdb-object-properties ;; scm-string.c diff --git a/gdb/guile/scm-gsmob.c b/gdb/guile/scm-gsmob.c index b0f9e19..4ba9770 100644 --- a/gdb/guile/scm-gsmob.c +++ b/gdb/guile/scm-gsmob.c @@ -48,7 +48,7 @@ Gsmobs (and chained/eqable gsmobs) add an extra field that is used to record extra data: "properties". It is a table of key/value pairs - that can be set with set-gsmob-property!, gsmob-property. */ + that can be set with set-gdb-object-property!, gdb-object-property. */ #include "defs.h" #include "hashtab.h" @@ -212,9 +212,9 @@ gsscm_get_gsmob_arg_unsafe (SCM self, int arg_pos, const char *func_name) return self; } -/* (gsmob-kind gsmob) -> symbol +/* (gdb-object-kind gsmob) -> symbol - Note: While one might want to name this gsmob-class-name, it is named + Note: While one might want to name this gdb-object-class-name, it is named "-kind" because smobs aren't real GOOPS classes. */ static SCM @@ -236,7 +236,7 @@ gdbscm_gsmob_kind (SCM self) return result; } -/* (gsmob-property gsmob property) -> object +/* (gdb-object-property gsmob property) -> object If property isn't present then #f is returned. */ static SCM @@ -255,7 +255,7 @@ gdbscm_gsmob_property (SCM self, SCM property) return scm_assq_ref (base->properties, property); } -/* (set-gsmob-property! gsmob property new-value) -> unspecified */ +/* (set-gdb-object-property! gsmob property new-value) -> unspecified */ static SCM gdbscm_set_gsmob_property_x (SCM self, SCM property, SCM new_value) @@ -296,7 +296,7 @@ gdbscm_set_gsmob_property_x (SCM self, SCM property, SCM new_value) return SCM_UNSPECIFIED; } -/* (gsmob-has-property? gsmob property) -> boolean */ +/* (gdb-object-has-property? gsmob property) -> boolean */ static SCM gdbscm_gsmob_has_property_p (SCM self, SCM property) @@ -326,7 +326,7 @@ add_property_name (void *closure, SCM handle) return SCM_UNSPECIFIED; } -/* (gsmob-properties gsmob) -> list +/* (gdb-object-properties gsmob) -> list The list is unsorted. */ static SCM @@ -449,23 +449,23 @@ gdbscm_clear_eqable_gsmob_ptr_slot (htab_t htab, eqable_gdb_smob *base) static const scheme_function gsmob_functions[] = { - { "gsmob-kind", 1, 0, 0, gdbscm_gsmob_kind, + { "gdb-object-kind", 1, 0, 0, gdbscm_gsmob_kind, "\ -Return the kind of the smob, e.g., , as a symbol." }, +Return the kind of the GDB object, e.g., , as a symbol." }, - { "gsmob-property", 2, 0, 0, gdbscm_gsmob_property, + { "gdb-object-property", 2, 0, 0, gdbscm_gsmob_property, "\ -Return the specified property of the gsmob." }, +Return the specified property of the GDB object." }, - { "set-gsmob-property!", 3, 0, 0, gdbscm_set_gsmob_property_x, + { "set-gdb-object-property!", 3, 0, 0, gdbscm_set_gsmob_property_x, "\ -Set the specified property of the gsmob." }, +Set the specified property of the GDB object." }, - { "gsmob-has-property?", 2, 0, 0, gdbscm_gsmob_has_property_p, + { "gdb-object-has-property?", 2, 0, 0, gdbscm_gsmob_has_property_p, "\ Return #t if the specified property is present." }, - { "gsmob-properties", 1, 0, 0, gdbscm_gsmob_properties, + { "gdb-object-properties", 1, 0, 0, gdbscm_gsmob_properties, "\ Return an unsorted list of names of properties." },