>> While we've mandated that "__" must be used for semi-public
>> functions, we've never said that it can't be used for private ones.

>Kamesh is talking about public, not private, functions.  I.e., ones
>where we actually do have an ABI promise to keep.

>I looked at svn_error__locate last week.  It's really only useful in
>--enable-maintainer-mode, but the way it's implemented, it ends up
>being used by macros in the public (non-maintainer) ABI, so even if we
>eliminate those callers, we have to supply the function itself forever.
>I've addressed this as best we can, in r1053469.

Thanks

>Supplying a given ABI forever is the sort of thing I thought we didn't
>have to do for __ functions.  I think that's Kamesh's question too.

Yes. Following is my understanding, correct me if I am wrong.

<my understanding>
Any function/macro inside the header *directly* under subversion/include should 
only have a public functions(ones that starts with svn_ and do *not* have __). 

If somebody differs from this convention then there should be *subversion dev* 
community independent convention here may be like these.

* doc string of such functions(semi-public a.k.a intra library 
functions/private(should we even have such one in headers?)) should promptly 
say so in the headers.

* start with __svn like we see in some of the libc headers. The vague __ 
starting would signal about the scope/ABI nature of the API.

</my understanding>

With regards
Kamesh Jayachandran

[PS] Unless I am mistaken svn_fspath__* can be used in libsvn_repos too instead 
of svn_path_* wherever applicable and hence a chance to become public.

Reply via email to