guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Identifying what's usable in installed headers [was Re: RFC: Foreign


From: Doug Evans
Subject: Re: Identifying what's usable in installed headers [was Re: RFC: Foreign objects facility]
Date: Fri, 2 May 2014 21:18:04 -0700

On Fri, May 2, 2014 at 4:19 PM, Ludovic Courtès <address@hidden> wrote:
> Doug Evans <address@hidden> skribis:
>
>> On Fri, May 2, 2014 at 4:44 AM, Ludovic Courtès <address@hidden> wrote:
>>> Doug Evans <address@hidden> 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
>>> ‘SCM_I’.
>>
>> 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.)
>
> ‘SCM_STRUCTP’, ‘SCM_STRUCT_SLOT_REF’, and a few others may be OK, but
> there are equivalent public functions anyway, so it’s better to use
> 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’m not sure what to do for this particular header.
>
> Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]