<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div><span>Hi Miller,</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><span>There's also the separate bug about the %s not having a corresponding variable.  I fixed it in Pd-l2ork and put a patch on the tracker, but I'm not sure where expr~ upstream actually resides.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent;
 font-style: normal;">Also, do note that there is probably a discrepancy between what the loader is willing to try to load, and what a class is willing to do inside the *_new function.  In my test, Pd's loader has no problem with Pd-extended's 0.43 "extra/expr~". But as far as expr_new is concerned, it doesn't recognize that string.  Yet it also defaults to creating an [expr] object instead of bailing.<br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">I think an error inside *_new should end in a broken object, or at the least should warn the user what class it is defaulting to.</div><div style="color: rgb(0,
 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">Furthermore, I can't see a use case for the loader sending the full or libdir path as part of the symbol.  Is there one?  Expr as well as a lot of internal objects assume an unprefixed creator name.  If Hans or someone else actually ships a Pd-extended with a separate "vanilla" libdir, expect to see a bunch of unnecessary breakage for no apparent gain.<br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br><span></span></div><div style="color:
 rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><span>-Jonathan</span></div> <div class="qtdSeparateBR"><br><br></div><div style="display: block;" class="yahoo_quoted"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"> <font face="Arial" size="2"> On Sunday, October 12, 2014 5:41 PM, Miller Puckette <msp@ucsd.edu> wrote:<br> </font> </div>  <br><br> <div class="y_msg_container">HI all -<br clear="none"><br clear="none">I tried making expr take just the filename without the path in the test,<br clear="none">and got an unintended consequence I can't understand (if you make both an <br clear="none">expr and an expr~, for instance,
 the .so gets loaded twice).<br clear="none"><br clear="none">So I backed off from that but t least fied the error message.  so for now<br clear="none">at least, in vanilla at least, it isn't possible to invoke expr (etc.)<br clear="none">via path.<br clear="none"><br clear="none">I don't know if there are ther external objects like expr in that there<br clear="none">are symlinks (or copies) of the binary by different names that the object<br clear="none">uses to disambiguate itself.  I rather doubt it, but OTOH there's a lot of <br clear="none">stuff out there.<br clear="none"><br clear="none">cheers<br clear="none">Miller<br clear="none"><div class="yqt2296885656" id="yqtfd24872"><br clear="none">On Sun, Oct 12, 2014 at 01:52:23PM -0700, Jonathan Wilkes via Pd-list wrote:<br clear="none">> Hi list,<br clear="none">> It seems expr isn't compatible with the libdir format.  The code in expr_new of vexp_if.c checks for unprefixed
 creator names, so if the user typed "expr~/expr~" or "extra/expr~" or even "the_libdir_that_I_put_in_my_patch_directory/expr~", the logic defaults to creating an expr_class instead of an expr_tilde_class.  It also outputs an error.<br clear="none">> <br clear="none">> <br clear="none">> Also, the error it outputs has a bug itself-- there is no corresponding variable for the %s in this line:<br clear="none">>                 post("expr_new: bad object name '%s'");<br clear="none">> <br clear="none">> That will often cause a crash on 32-bit systems.  I wasn't able to crash on a 64-bit system, although that %s will output a bunch of garbage characters to the Pd window.<br clear="none">> <br clear="none">> Obviously expr (and probably a lot of other code) expect the creator to be the same as what the class author specified in the setup routine.  So Pd should deliver that symbol
 without the libdir prefix to the *_new function for that class.<br clear="none">> <br clear="none">> I tested on Pd 0.43 from Sourceforge on a 32-bit Wheezy machine, plus Pd-l2ork which forked at 0.42.  Has Pd Vanilla addressed this problem since then?<br clear="none">> <br clear="none">> -Jonathan</div><br clear="none"><br clear="none">> _______________________________________________<br clear="none">> <a href="" class="removed-link" shape="rect" ymailto="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br clear="none">> UNSUBSCRIBE and account-management -> <a href="" class="removed-link" shape="rect" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><div class="yqt2296885656" id="yqtfd26348"><br clear="none"><br clear="none"></div><br><br></div>  </div> </div>  </div> </div></body></html>