Before 0.47, paths declared inside of an abstraction were also propagated to the caller patch's namespace (and were added on the top of the caller patch file when saved).

That has been later considered as a bug, thus removed.

So when you save the caller patch with a newer version of Pd, the paths originally coming from the abstractions declarations are removed from the file, and objects cannot be created by the caller patch.
The fix is to add the missing [declare]s to the caller patch. Note: these paths will then be visible from any abstraction (even nested) created by the caller patch.



2018-03-22 10:08 GMT+01:00 Liam Goodacre <liamg_uw@hotmail.com>:
Sorry, I sent the last message accidentally.

Maybe after opening PD and finding that Zexy didn't work, you opened a Zexy helpfile through the browser, or loaded some other file where Zexy was directly declared. This would load Zexy and allow all objects to create correctly, but but not prevent them from failing next time PD is opened.

Roman's solution should work. If you want, you can put the same declaration as a startup flag (preferences --> startup) so that you don't have to bother with the [declare] object every time.


From: Pd-list <pd-list-bounces@lists.iem.at> on behalf of Liam Goodacre <liamg_uw@hotmail.com>
Sent: 22 March 2018 08:59
To: Roman Haefeli; pd-list@lists.iem.at

Subject: Re: [PD] cannot 'upgrade' old patch
 


From: Pd-list <pd-list-bounces@lists.iem.at> on behalf of Roman Haefeli <reduzent@gmail.com>
Sent: 22 March 2018 07:36
To: pd-list@lists.iem.at
Subject: Re: [PD] cannot 'upgrade' old patch
 
On Don, 2018-03-22 at 07:44 +0100, rolfm@dds.nl wrote:
> hi list,
>
> i have old patches made with Pdext 42.5.
> when opened with Vanilla 48.1 i get lots of uncreated objects (of 
> course).
>
> some of them i'm not able to 'repair'.
> e.g. [symbol2list]
>
> i put in a [declare -stdpath -zexy -stdlib -zexy].

It should read:

[declare -stdpath zexy -stdlib zexy]

(without dashes before 'zexy').

> it's possible to create a new [symbol2list] object.
>
> after saving, closing pd, opening again,
> the new object is not created.
>
> what can i do to resolve this.

Let's hope the typo was the reason for this. If not, then this is odd.
I mean, if it works _before_ saving the patch, it is supposed to work
after re-loading. I'd run pd in verbose mode. You can add the startup
flag '-verbose' (without quotes) in your preferences. When loading
[symbol2list], check what it does and whether Pd is looking into the
right places.

Roman

_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list