Again, why would you tag a *private* function as EXTERN in the first place? EXTERN is a macro for *exporting* a function from the Pd binary so that Pd externals can use it. (I guess the better name would have been PD_EXPORT all along.)
Because people are using the damn functions. I wish it weren't so :)
If you just want to make a forward declaration, there is no need for EXTERN at all because functions have extern linkage by default. Just have a look at "s_stuff.h": some functions are marked EXTERN, but others are not.
And that's bad because it's inconsistent.
The issue is just that Linux and macOS export all functions by default, but this can be simply solved by compiling with "-fvisiblity=hidden". See https://urldefense.com/v3/__https://github.com/pure-data/pure-data/issues/56... . (Linux and macOS really got the defaults wrong in this case.)
I think linux/MacOS have it right - but anyway that's a question of opinion for people who know about compilers to debate, not me.
I could imagine compiling Pd with -fvisiblity=hidden ... but then, different compiles of Pd would have different behaviors, which isn't great either. Anyway, I don't want to fool with this so late in the release cycle. If anyone is crazy enough to use functions out of s_stuff.h or g_canvas.h, then I say let them eat cake.
cheers M
Cheers,
Christof
cheers M
On 8/7/25 9:12 PM, IOhannes m zmölnig via Pd-dev wrote:
hi
a couple of things:
- it seems that miller tagged a new release, but apparently some
numbers were swapped (or i'm having this sleepy hollow moment) as the tag reads "0.65-1test1" (rather than "0.56-1test1") i can delete the tag, but i'd rather have miller do the correct tagging.
before tagging, please consider the following though:
- i've pushed a few small changes to the `develop` branch, that I
would like to see in the bugfix release: very minor things, like fixing the screenshot image URL (required for the flatpak packages), and making a new symbol private that shouldn't have been public anyhow <https://urldefense.com/v3/__https://github.com/pure-data/pure-data/pull/2721...
- practically all translations have been touched as well (not that
three were any significant change sto the actual translations though) <https://urldefense.com/v3/__https://github.com/pure-data/pure-data/pull/2722...
fmasr IOhannes
--- pd-dev@lists.iem.at - the Pd developers' mailinglist https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-dev@list...
pd-dev@lists.iem.at - the Pd developers' mailinglist https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-dev@list...
pd-dev@lists.iem.at - the Pd developers' mailinglist https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-dev@list...