From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Doug Evans Newsgroups: gmane.lisp.guile.devel Subject: Re: Identifying what's usable in installed headers [was Re: RFC: Foreign objects facility] Date: Fri, 2 May 2014 21:18:04 -0700 Message-ID: References: <87mwf09zhg.fsf@gnu.org> <87oazf3h16.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1399090698 15610 80.91.229.3 (3 May 2014 04:18:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 3 May 2014 04:18:18 +0000 (UTC) Cc: guile-devel To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat May 03 06:18:11 2014 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WgROs-0001W1-T7 for guile-devel@m.gmane.org; Sat, 03 May 2014 06:18:11 +0200 Original-Received: from localhost ([::1]:47258 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WgROs-0002Rs-DY for guile-devel@m.gmane.org; Sat, 03 May 2014 00:18:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36675) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WgROo-0002RU-1c for guile-devel@gnu.org; Sat, 03 May 2014 00:18:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WgROn-0007dU-AK for guile-devel@gnu.org; Sat, 03 May 2014 00:18:05 -0400 Original-Received: from mail-qa0-x231.google.com ([2607:f8b0:400d:c00::231]:34645) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WgROn-0007dQ-5q; Sat, 03 May 2014 00:18:05 -0400 Original-Received: by mail-qa0-f49.google.com with SMTP id cm18so4019932qab.36 for ; Fri, 02 May 2014 21:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=Jl1JBo6r+CviqoNuQm29As1XZlUSYGdc/MrDX0Orwwk=; b=wphxwIUSVQ4/4kBbV8JxiyqNXI+gagm2CmGVpBmGkohTPb0uf+6hd8rXcQ7JPyF3uB kfClzOJEk/iA9GUa0LjiA0a1DkW8oWsnlOt0rxKxoo+QruF89bPCix9+VxDyQQe6thmm HcrEioXWhRYOYgY6zA/SydY/im7kBxX/zm7W4Xf6DKpiS2T4p1A+yZKYwYZ+ipIQwueI 1Vb1MP/lE7SQQbLKmsGdUDVpfhbh4+XrdNHHnsWe8XTXpFz9qthmOMaUPLFKhKH6nPkf Rr9w07+BwbBmXoC2N/s7PUSf8jkM0702dXgBCoXA+sEc0AJJKGextdmmQCvk/7Kk+9ad r+qw== X-Received: by 10.224.0.79 with SMTP id 15mr28043108qaa.2.1399090684766; Fri, 02 May 2014 21:18:04 -0700 (PDT) Original-Received: by 10.229.206.7 with HTTP; Fri, 2 May 2014 21:18:04 -0700 (PDT) In-Reply-To: <87oazf3h16.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c00::231 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:17132 Archived-At: On Fri, May 2, 2014 at 4:19 PM, Ludovic Court=C3=A8s wrote: > Doug Evans skribis: > >> On Fri, May 2, 2014 at 4:44 AM, Ludovic Court=C3=A8s wrot= e: >>> Doug Evans skribis: >>> >>>> While function declarations are markable as being internal/external in >>>> published headers (SCM_INTERNAL vs SCM_API), macros are not. >>> >>> Internal macros are marked by a naming convention: they are prefixed by >>> =E2=80=98SCM_I=E2=80=99. >> >> Hi. Sorry, catching up on mail. >> >> So this means that struct.h:SCM_STRUCT_* are ok to use by apps, right? > > You got me. ;-) > > These ones are not documented, and some of them are clearly too > low-level and expose too many implementation details (flags, indexes, > etc.) > > =E2=80=98SCM_STRUCTP=E2=80=99, =E2=80=98SCM_STRUCT_SLOT_REF=E2=80=99, and= a few others may be OK, but > there are equivalent public functions anyway, so it=E2=80=99s better to u= se > them. Thing is, the public functions (scm_struct_ref/set_x) are not equivalent (to SCM_STRUCT_SLOT_*). Plus the public "slot accessing" functions use the SCM_STRUCT_DATA interface. :-) SCM_STRUCT_SLOT_* isn't used at all in struct.c. $ grep SCM_STRUCT_SLOT struct.c | wc 0 0 0 > > I=E2=80=99m not sure what to do for this particular header. > > Ludo=E2=80=99.