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/569__;!!Mih3wA!HxpV00_fcpH64N6Sl5zlOm4avJgIruAcNHHtqXtb2WtTylG_DHiVqnQxIuBDRWA3qnvWijQjqUh9qQ$
. (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__;!!Mih3wA!HxpV00_fcpH64N6Sl5zlOm4avJgIruAcNHHtqXtb2WtTylG_DHiVqnQxIuBDRWA3qnvWijSwulmy7g$
>
- 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__;!!Mih3wA!HxpV00_fcpH64N6Sl5zlOm4avJgIruAcNHHtqXtb2WtTylG_DHiVqnQxIuBDRWA3qnvWijTfVhnB5Q$
>
fmasr
IOhannes
---
pd-dev@lists.iem.at - the Pd developers' mailinglist
https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/YDHOU42AQ423AOWGGDL52A4RQDUYB3RX/__;!!Mih3wA!HxpV00_fcpH64N6Sl5zlOm4avJgIruAcNHHtqXtb2WtTylG_DHiVqnQxIuBDRWA3qnvWijQnWMxfSw$
---
pd-dev@lists.iem.at - the Pd developers' mailinglist
https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/OSXQHND3K7OYCHXQBT5TK3JWBOQLI7VP/__;!!Mih3wA!HxpV00_fcpH64N6Sl5zlOm4avJgIruAcNHHtqXtb2WtTylG_DHiVqnQxIuBDRWA3qnvWijT2lPxYcg$
---
pd-dev@lists.iem.at - the Pd developers' mailinglist
https://urldefense.com/v3/__https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/2RFT3GXJVRV6PMK6XU4J5KLVUM4W277W/__;!!Mih3wA!HxpV00_fcpH64N6Sl5zlOm4avJgIruAcNHHtqXtb2WtTylG_DHiVqnQxIuBDRWA3qnvWijSCndmEEQ$
---
pd-dev@lists.iem.at - the Pd developers' mailinglist
https://lists.iem.at/hyperkitty/list/pd-dev@lists.iem.at/message/2PQOFHNPPLTDFZALD7ILMFNU6VOQZ52N/