The realpath() is definitely related. If you start Pd using a relative path, like I do when doing dev work (e.g. make && ../bin/ pd), then sys_libdir will be a relative path. That means it is impossible to make absolute paths using sys_libdir, which is what I need to do to make [import] work, or loading libdirs with [declare - lib] and the libdir loader.
I can't see any problems that realpath() might cause.
.hc
On May 22, 2008, at 8:45 PM, Miller Puckette wrote:
OK, I took most of the patch (not the "realpath()" call which seems unrelated) and uploaded to SVN, unless I'm mistaken.
cheers Miller
On Wed, May 21, 2008 at 08:22:23PM +0200, Hans-Christoph Steiner wrote:
I was looking into this a bit more, and from what I can tell, the canvas-local path (ce_path) is always relative to the path of the parent patch. Here's the commit for pd-extended that adds support for absolute paths:
http://pure-data.svn.sourceforge.net/viewvc/pure-data? view=rev&revision=9862
Also, I submitted a patch:
http://sourceforge.net/tracker/index.php? func=detail&aid=1917574&group_id=55736&atid=478072
.hc
On May 19, 2008, at 9:42 PM, Hans-Christoph Steiner wrote:
I think I fixed the full paths bug, here's the commit:
http://pure-data.svn.sourceforge.net/viewvc/pure-data? view=rev&revision=9856
.hc
On May 19, 2008, at 8:03 PM, Hans-Christoph Steiner wrote:
I think this issue is pretty clear, and the languages that I know would fall along the lines of "each patch/abstraction has its own namespace" or in other words "#include only affects the one .c file", "import only affects the one .py file", etc. So I agree with Frank. Global settings are global, and canvas-local settings are local to the original file.
The "semi-functional" part is the full paths that Marius mentioned.
Then the other question is how to use something like "#X declare"/ canvas_savedeclarationsto() in externals. I'd like to create an [import] modelled after Python's import does, so I'd like to use "#X declare"/canvas_savedeclarationsto() with it.
.hc
On May 19, 2008, at 6:33 PM, Miller Puckette wrote:
Hi all,
I use 'declare' all the time.. don't think it's semifunctional at all. I think the questions about how declares should act inside abstractions are hard to resolve; in my own usage (and in the way I suggest others might want to use declare) it's always in the main patch, as a way to show the patch what libraries, etc, it needs.
cheers Miller
On Mon, May 19, 2008 at 06:28:31PM +0200, Hans-Christoph Steiner wrote:
Hey,
So I am diving into the whole canvas-local namespace and [declare] issue these days. I like the new "#X declare"/ canvas_savedeclarationsto() functionality, I think it could be useful for a lot of things. I was thinking of making an API to use it in externals, something like sys_register_loader(). I have two questions, first, how entrenched is the current behavior of [declare]? It currently is only semi-functional, and I think few people use it.
The second is how to structure this for general use. I have thought of two ways:
- make "declare" the key word and allow other objectclasses to
have their own custom "#X declare" data.
- allow objectclasses to register their own declaration key
words, like [import] could have "#X import".
The first would mean changing the behavior of [declare], the second could lead to a big mess...
.hc
--
Man has survived hitherto because he was too ignorant to know how to realize his wishes. Now that he can realize them, he must either change them, or perish. -William Carlos Williams
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
--
News is what people want to keep hidden and everything else is publicity. - Bill Moyers
--
You can't steal a gift. Bird gave the world his music, and if you can hear it, you can have it. - Dizzy Gillespie
News is what people want to keep hidden and everything else is publicity. - Bill Moyers
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
------------------------------------------------------------------------ ----
News is what people want to keep hidden and everything else is publicity. - Bill Moyers