> That doesn't automatically make everything else strictly private, though. 
> [...]. So these "private" members are in fact part of the ABI and in practice 
> public.

You keep confusing compiler with convention. When we say "public" or "private" 
we mean "plugins should/shouldn't use this stuff", not "plugins can/can't 
technically use this stuff". Once you grok the difference, it will become 
clear. Basically if you're thinking in terms of ABI, you're not getting it :) A 
better example @b4n eluded to is "private" fields/methods in Python. To make 
something "private" in a class, you append/prepend an underscore or some other 
convention. The members are still technically public, but the convention is 
that if there's an underscore like that, they're private and should not be used 
outside of the class, and there's no guarantee they won't change.

> I didn't actually start to document the members, their status is unchanged. I 
> merely documented the *type*

You added new types to the "public" API (remember "public" by convention, 
nothing to do with compiler/ABI).

---
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/commit/302b40e9778ff49407902f3ef9f272ed202f4547#commitcomment-15068661

Reply via email to