Answering my own question for the archives:

Switching file finding to use canvas_open in the external seems to have fixed the issue. I can now load successfully with no file path set in preferences by using [declare -path s4pd]. :-)

iain


On Sat, Oct 9, 2021 at 8:43 AM Iain Duncan <iainduncanlists@gmail.com> wrote:
Re the first point, this is in conflict with what I received from others in another thread. So if there are other opinions on this I would still like to hear.

Re the second, that's a different issue, and I am literally working on it right now. Please note that that ticket was not closed, nor did I indicate anywhere that it was solved in rc3.

iain

On Sat, Oct 9, 2021 at 8:38 AM Alexandre Torres Porres <porres@gmail.com> wrote:
You don't and shouldn't need declare at all, you just have a single external and its name is the same as the folder's name "s4pd".

The object should be able to load files on the same folder as the help patch or in folders relative to it, but it still can't (with version rc3).

Em sáb., 9 de out. de 2021 às 12:09, Iain Duncan <iainduncanlists@gmail.com> escreveu:
Oh I think I might have stumbled on the answer, but confirmation would be lovely. I was using open_via_path to find the file, is it that I need to use canvas_open for the declare path to work?

iain

On Sat, Oct 9, 2021 at 8:02 AM Iain Duncan <iainduncanlists@gmail.com> wrote:
Hi folks, I'm still working on the packaging of s4pd with regard to finding scheme files, and am almost there, but having some weirdness with [declare -path]. It was recommended to me that I advise people in the docs to put a [declare -path s4pd] in their patches so that finding scm files would "just work".

My understanding is that this would add the s4pd path to their file path, meaning that files in that dir should get found, just as if one had put it explicitly into the Pd path preferences. However, this doesn't seem to do that on MacOS. 

I run make install, and it puts my stuff in ~/Library/Pd/, so that there is a directory, ~/Library/Pd/s4pd, with all the files, at the same level as the external. But if I try to use a patch with an s4pd object and a [declare -path s4pd], the declare path appears to make no difference: I still need to go add ~/Library/Pd/s4pd to file preferences for the files to be found.

Hopefully someone can clear up what is happening here, or my misunderstanding of what the declare is supposed to do. 

thanks!
_______________________________________________
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev